관리-도구
편집 파일: process.cpython-39.pyc
a -�_g* � @ 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 informationZprocess)�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 Zval_typer �numprocsi z*number of process to collect /proc data ofc C sv d}d}d}|d7 }| � g d�� dd� | �d�D �}| �d �rR|d | �d �� }|D ]@}| � d |� d�d |� d�d |� d �d |� d�d |� d�g� qV| �d�r�| � d� | jddg d�dd� | jddd� | �d�r�| jdddddd� | �d��r | jd ddd!� | jg d"�d#d$� | �|� d%|� �|� d%|� �g� | �d&��rd| jd'| �d&�� �d(d)� | �d*d+g� d S ),Nzps axoz3pid,ppid,user,group,lwp,nlwp,start_time,comm,cgroupz3flags,state,uid,pid,ppid,pgid,sid,cls,pri,psr,addr,zsz,wchan:20,lstart,tty,time,cmd)z/proc/sched_debugz /proc/statz/sys/kernel/debug/sched/debugz /sys/kernel/debug/sched/featuresz/sys/kernel/sched_ext/c S s g | ]}t �d |�r|�qS )z[0-9])�re�match)�.0�p� r �>/usr/lib/python3.9/site-packages/sos/report/plugins/process.py� <listcomp>0 � z!Process.setup.<locals>.<listcomp>z/procr z/proc/z/statusz/cpusetz/oom_*z/stackz/limitsr z/proc/[0-9]*/smapsz ps auxwwwmZps)Zps_auxZps_auxwwZ ps_auxwwwZ ps_auxwwwmZ ps_auxcww� )�root_symlink�tags�priorityz pstree -lpZpstree)r r zlsof +M -n -l -c ''� �2 )r �timeoutr r r z lsof +M -n -l)r r )z ps alxwwwz ps auxfwwwzps -elfLT)Z cmd_as_tag� r ziotop -b -o -d 0.5 -t -n �d )r z#pidstat -p ALL -rudvwsRU --human -hzpidstat -tl)Z add_copy_spec�listdirZ get_optionZadd_cmd_output)�selfZps_axoZ ps_group_optsZ ps_sched_optsZprocs�procr r r �setup! s\ � � � �����z Process.setupc C s | � d���}| jjjs0|�d� W d � d S | �d�}i }i }|d dksr|�d|d � �� W d � d S |d �� D ]X}|�� �� }|d }|d }| � |�s�q~||vr�| jj� |�||<