�
�~�e' � �, � d dl Z d dlmZ G d� d� Zy)� N)�succeedc � � e Zd Zdd�Zd� Zd� Zy)� Processesc � � || _ y �N)� _proc_dir)�self�proc_dirs �=/usr/lib/python3/dist-packages/landscape/sysinfo/processes.py�__init__zProcesses.__init__ s � �!��� c � � || _ y r )�_sysinfo)r �sysinfos r �registerzProcesses.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 � |dz
}dj dd� d k( s��|dz
}�� |r*|dk( rd }nd
|d�d�}| j j |� | j j d
t |� � t d � S # 1 sw Y ��xY w# t $ r Y ��w xY w)Nr �stat�rb� � Z� � � zThere 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 � ��
����:�:�d�n�n�-� !�C��;�;�=���'�'�,�,�t�~�~�s�F�C�K�
��+�t�,� %���7�7�9�D�%�
�Q��M��t�z�z�$��*�1�-�-��q� �� !� ��a��2��"�;�q�/�1C�D���M�M�"�"�3�'��
�
� � ��c�-�.@�A��t�}��#%� %���
��
�s* �$D�0D
�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
|