~e',ddlZddlmZGddZy)N)succeedc eZdZddZdZdZy) Processesc||_yN) _proc_dir)selfproc_dirs =/usr/lib/python3/dist-packages/landscape/sysinfo/processes.py__init__zProcesses.__init__s !c||_yr)_sysinfo)r sysinfos r registerzProcesses.register s  r cJd}d}tj|jD]}|jstjj |j|d} t |d5}|j}ddd|dz }djdddk(s|dz }|r*|dk(rd }nd |d d }|jj||jjd t|tdS#1swYxYw#t$rYwxYw)NrstatrbZ zThere is 1 zombie process.z There are dz zombie processes.r)oslistdirrisdigitpathjoinopenreadIOErrorsplitradd_note add_headerstrr)r num_processes num_zombiespid status_pathfddatamsgs r runz Processes.run s  ::dnn- !C;;='',,t~~sFCK +t,%779D% Q Mtzz$*1--q  ! a2";q/1CD MM " "3 '   c-.@At}#%%  s*$ D0D D D D D"!D"N)z/proc)__name__ __module__ __qualname__r rr.r r rrs" r r)rtwisted.internet.deferrrr2r r r4s *!!r