File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/process.cpython-310.pyc
o
i��d{ � @ s: d dl Z d dlZd dlmZmZmZ G dd� dee�ZdS )� N)�Plugin�IndependentPlugin� PluginOptc
@ sl e Zd ZdZdZdZedddd�edd d
d�edd dd�ed
dedd�eddedd�gZdd� Z dd� Z
dS )�Processzprocess information�process)�system�lsofTzcollect info on all open files)�default�desc�lsof-threadsFz,collect threads' open file info if supported�smapszcollect /proc/*/smaps files�samples� z"number of iotop samples to collect)r �val_typer
�numprocsi z*number of process to collect /proc data ofc C sX d}d}d}|d7 }| � ddg� dd� | �d �D �}| �d
�r)|d | �d
�� }|D ]}| � d| d| d
| d| d| g� q+| �d�rL| � d� | jddg d�dd� | jddd� | �d�rm| jdddddd� | �d�rz| jd ddd!� | jd"d#gd$d%� | �d&||f d&||f g� | �d'�r�| jd(| �d'� d)d*� | �d+d,g� d S )-Nzps axoz3pid,ppid,user,group,lwp,nlwp,start_time,comm,cgroupz2flags,state,uid,pid,ppid,pgid,sid,cls,pri,addr,sz,zwchan:20,lstart,tty,time,cmdz/proc/sched_debugz
/proc/statc S s g | ]
}t �d |�r|�qS )z[0-9])�re�match)�.0�p� r �</usr/lib/python3/dist-packages/sos/report/plugins/process.py�
<listcomp>- s z!Process.setup.<locals>.<listcomp>z/procr z/proc/%s/statusz/proc/%s/cpusetz/proc/%s/oom_*z/proc/%s/stackz/proc/%s/limitsr z/proc/[0-9]*/smapsz
ps auxwwwm�ps)�ps_aux�ps_auxww� ps_auxwww�
ps_auxwwwm� ps_auxcww� )�root_symlink�tags�priorityz
pstree -lp�pstree)r r zlsof +M -n -l -c ''� �2 )r �timeoutr! r r z
lsof +M -n -l)r% r! z ps alxwwwzps -elfLT)�
cmd_as_tagz%s %sr
ziotop -b -o -d 0.5 -t -n %s�d )r! z#pidstat -p ALL -rudvwsRU --human -hzpidstat -tl)�
add_copy_spec�listdir�
get_option�add_cmd_output)�self�ps_axo�
ps_group_opts�
ps_sched_opts�procs�procr r r �setup! sh �
�
�
�
��
�
��
�z
Process.setupc C s | � d��{}| jjjs|�d� W d � d S | �d�}i }i }|d dks;|�d|d � �� W d � d S |d �� D ],}|�� �� }|d }|d }| � |�sWqA||vrd| jj�
|�||<