
    ~e'                     ,    d dl Z d dlmZ  G d d      Zy)    N)succeedc                        e Zd ZddZd Zd Zy)	Processesc                     || _         y N)	_proc_dir)selfproc_dirs     =/usr/lib/python3/dist-packages/landscape/sysinfo/processes.py__init__zProcesses.__init__   s	    !    c                     || _         y r   )_sysinfo)r	   sysinfos     r   registerzProcesses.register
   s	    r   c                 J   d}d}t        j                  | j                        D ]  }|j                         st         j                  j                  | j                  |d      }	 t        |d      5 }|j                         }d d d        |dz  }dj                  dd      d   k(  s|dz  } |r*|dk(  rd	}nd
|dd}| j                  j                  |       | j                  j                  dt        |             t        d       S # 1 sw Y   xY w# t        $ r Y w xY w)Nr   statrb      Z          zThere is 1 zombie process.z
There are dz zombie processes.r   )oslistdirr   isdigitpathjoinopenreadIOErrorsplitr   add_note
add_headerstrr   )r	   num_processesnum_zombiespidstatus_pathfddatamsgs           r   runzProcesses.run   s   ::dnn- 	!C;;='',,t~~sFCK+t, %779D%
 QMtzz$*1--q 	!  a2";q/1CDMM""3'  c-.@At}#% % s*   $D0D
D
D	D	D"!D"N)z/proc)__name__
__module____qualname__r   r   r.    r   r   r   r      s    " r   r   )r   twisted.internet.deferr   r   r2   r   r   <module>r4      s    	 *! !r   