%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib64/python3.9/site-packages/psutil/__pycache__/
Upload File :
Create Path :
Current File : //lib64/python3.9/site-packages/psutil/__pycache__/_psbsd.cpython-39.pyc

a

M�_]y�@sfdZddlZddlZddlZddlZddlmmZddl	m
Z
ddl	mZddlm
Z
ddlmZddlmZdd	lmZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlm Z ddlm!Z!ddlm"Z"gZ#e�rzej$e
j%ej&e
j'ej(e
j)ej*e
j+ej,e
j-ej.e
j/ej0e
j1iZ2n~e�r�ej$e
j%ej(e
j)ej*e
j+ej3e
j-ej,e
j-ej&e
j4ej5e
j'iZ2n:e�r�ej$e
j%ej(e
j)ej*e
j+ej,e
j-ej&e
j4ej5e
j'iZ2ej6e
j7ej8e
j9ej:e
j;ej<e
j=ej>e
j?ej@e
jAejBe
jCejDe
jEejFe
jGejHe
jIejJe
jKejLe
jMiZNe�O�ZPejQZQeRed�ZSeRed�ZTeRed�ZUeRed�ZVeWdddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4�ZXe
d5gd6��ZYe
d7gd8��ZZe
d9gd:��Z[e[Z\e
d;gd<��Z]e
d=d>�Z^e
d?d@�Z_e�r2e
dAgdB��Z`ne
dAgdC��Z`dDdE�ZadFdG�ZbdHdI�ZceS�rhdJd�ZdndKd�ZddLed_edMdN�Zfe�s�e�r�dOdP�ZgndQdP�ZgdRdS�ZhdrdTdU�ZiejjZjejkZkejlZlejmZmdVdW�ZndXdY�Zoe�r�dZd[�Zpd\d]�Zqd^d_�Zrd`da�Zsdbdc�Zteddde��Zudfdg�Zve�s$e�r.dhdi�ZwnejwZwdjdk�Zxdldm�Zyejzdndo��Z{Gdpdq�dqe|�Z}dS)sz5FreeBSD, OpenBSD and NetBSD platforms implementation.�N)�
namedtuple)�defaultdict�)�_common)�_psposix)�_psutil_bsd)�
_psutil_posix)�AccessDenied)�	conn_tmap)�conn_to_ntuple)�FREEBSD)�memoize)�memoize_when_activated)�NETBSD)�
NoSuchProcess)�OPENBSD)�
usage_percent)�
ZombieProcess)�FileNotFoundError)�PermissionError)�ProcessLookupError)�which�
per_cpu_times�proc_num_threads�proc_open_files�proc_num_fds��������	�
���
�����������)�ppid�status�real_uid�
effective_uid�	saved_uid�real_gid�
effective_gid�	saved_gid�ttynr�create_time�ctx_switches_vol�ctx_switches_unvol�
read_io_count�write_io_count�	user_time�sys_time�ch_user_time�ch_sys_time�rss�vms�memtext�memdata�memstack�cpunum�name�svmem)�totalZ	available�percent�used�free�active�inactive�buffers�cached�shared�wired�	scputimes��user�nice�system�idle�irq�pmem)rErF�text�data�stack�	pcputimes)rYr[�
children_user�children_system�
pmmap_grouped�*path rss, private, ref_count, shadow_count�	pmmap_ext�6addr, perms path rss, private, ref_count, shadow_count�sdiskio)�
read_count�write_count�
read_bytes�write_bytesZ	read_timeZ
write_timeZ	busy_time)rjrkrlrmcCs�t��}|\}}}}}}}}tr�tdd��X}	|	D]B}
|
�d�rTt|
��d�d}q0|
�d�r0t|
��d�d}q0Wd�n1s�0Y|||}|||}t|||dd�}
t|||
||||||||�S)	z&System virtual memory as a namedtuple.z
/proc/meminfo�rbsBuffers:ris
MemShared:N�Zround_)	�cextZvirtual_memr�open�
startswith�int�splitrrL)ZmemrMrPrQrRrVrTrSrU�f�lineZavailrOrN�rw�3/usr/lib64/python3.9/site-packages/psutil/_psbsd.py�virtual_memory�s

4�rycCs4t��\}}}}}t||dd�}t�||||||�S)z@System swap memory as (total, used, free, sin, sout) namedtuple.rro)rpZswap_memrrZsswap)rMrOrPZsinZsoutrNrwrwrx�swap_memory�srzcCs"t��\}}}}}t|||||�S)z+Return system per-CPU times as a namedtuple)rp�	cpu_timesrWrXrwrwrxr{�sr{cCs>g}t��D],}|\}}}}}t|||||�}|�|�q|S)�'Return system CPU times as a namedtuple)rprrW�append)�retZcpu_trYrZr[r\r]�itemrwrwrxr�scCs.t�dkrt�gStjr td��dt_t�gS)r|r�&supported only starting from FreeBSD 8T)�cpu_count_logicalr{r�
__called__�NotImplementedErrorrwrwrwrxr�s
FcCst��S)z0Return the number of logical CPUs in the system.)rpr�rwrwrwrxr��sr�cCst�dkrdSdS)Nr)r�rwrwrwrx�cpu_count_physical�sr�cCs�d}t��}|durj|�d�}|dkrj|d|d�}t�|�}zt|�d��pRd}W|��n
|��0|s|t�dkr|dS|S)z1Return the number of physical CPUs in the system.Nz	</groups>���r#zgroup/children/group/cpur)	rpZcpu_count_phys�rfind�ETZ
fromstring�len�findall�clearr�)r~�s�index�rootrwrwrxr�s


c	Cs�trt��\}}}}}n�tr�t��\}}}}}}}tdd��4}|D]}|�d�rBt|��d�}qBWd�q�1sv0Yntr�t��\}}}}}}}t	�
||||�S)z*Return various CPU stats as a named tuple.z
/proc/statrnsintrrN)rrp�	cpu_statsrrqrrrsrtrrZ	scpustats)	ZctxswZintrsZ
soft_intrsZsyscallsZtrapsZfaultsZforksrurvrwrwrxr�s�
2�r�c	CsLg}t��}|D]6}|\}}}}d}}	t�||||||	�}
|�|
�q|S)z�Return mounted disk partitions as a list of namedtuples.
    'all' argument is ignored, see:
    https://github.com/giampaolo/psutil/issues/906
    N)rp�disk_partitionsrZ	sdiskpartr})�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpath�ntuplerwrwrxr�?s�r�cCs�t���}i}|D]�}z&t�|�}t�|�}t�|�\}}Wn2tyn}z|jtjkrZ�WYd}~qd}~00t	t
d�r�t
�|�}t
�||||�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).N�	NicDuplex)
�net_io_counters�keys�
cext_posixZ
net_if_mtuZnet_if_is_runningZnet_if_duplex_speed�OSError�errnoZENODEV�hasattrrr�Z	snicstats)�namesr~rKZmtuZisupZduplexZspeed�errrwrwrx�net_if_stats\s




r�c
Cstrrg}t�D]^}zt|��|�}Wnttfy>YqYq0|D]&}t|�}|�|�|�tj	|��qDq|S|tj
vr�td|d�dd�t
D��f��t
|\}}t
�}tr�t�d�}nt��}|D]F}|\}	}
}}}
}}|
|vr�||vr�t|	|
|||
|t|�}|�|�q�t|�S)z System-wide network connections.�+invalid %r kind argument; choose between %s�, cSsg|]}t|��qSrw��repr��.0�xrwrwrx�
<listcomp>��z#net_connections.<locals>.<listcomp>r�)r�pids�Process�connectionsrr�listr}rZsconnr
�
ValueError�join�setrrp�net_connectionsr�TCP_STATUSES�add)�kindr~�pidZconsZconn�families�types�rawlistr�fd�fam�type�laddr�raddrr4�ntrwrwrxr�ps:



��r�cCsbzt��\}}}Wnty&YdS0|dk}|r<tj}n|dkrLtj}n|d}t�|||�S)zReturn battery info.Nrr��<)rp�sensors_batteryr�rZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)rNZminsleftZ
power_pluggedZsecsleftrwrwrxr��sr�c	Csttt�}t�}t|�D]X}z@t�|�\}}|dkr6d}d|}|d�t�||||��Wqt	ylYq0q|S)z?Return CPU cores temperatures if available, else an empty dict.rNzCore %sZcoretemp)
rr�r��rangerpZsensors_cpu_temperaturer}rZshwtempr�)r~�num_cpus�cpu�currentZhighrKrwrwrx�sensors_temperatures�s�r�c
Cs�g}t�}t|�D]�}zt�|�\}}Wnty>YqYn0|r�z t|�d�d�d�d�}Wnttfy~d}Yn0z t|�d�d�d�d�}Wnttfy�d}Yn0|�	t
�|||��q|S)z�Return frequency metrics for CPUs. As of Dec 2018 only
        CPU 0 appears to be supported by FreeBSD and all other cores
        match the frequency of CPU 0.
        � r��/rN)r�r�rpZ
cpu_frequencyr�rsrt�
IndexErrorr�r}rZscpufreq)r~r�r�r�Zavailable_freqZmin_freqZmax_freqrwrwrx�cpu_freq�s$
 
 
r�cCst��S)z:The system boot time expressed in seconds since the epoch.)rp�	boot_timerwrwrwrxr��sr�c	Csfg}t��}|D]P}|\}}}}}|dkr6ts2J�d}|dkr@qt�||pLd|||�}|�|�q|S)z:Return currently connected users as a list of namedtuples.r�N�~)rp�usersrrZsuserr})	r�r�rrYZtty�hostnameZtstampr�r�rwrwrxr��sr�cCs@ztd���Wn&ty$YdSty6YdS0dSdS)NrFT)r�rKrr	rwrwrwrx�
_pid_0_exists�sr�cCs*t��}tr&d|vr&t�r&|�dd�|S)z7Returns a list of PIDs currently running on the system.r)rpr�rr��insert)r~rwrwrxr��sr�cCs t�|�}|s|t�vSdSdS)zReturn True if pid exists.TN)r�
pid_existsr�)r��existsrwrwrxr�
s

r�cCs8zt�|�td}|tjkWSty2YdS0dS)Nr4F)rp�proc_oneshot_info�kinfo_proc_map�SZOMB�	Exception)r��strwrwrx�	is_zombies
r�cst����fdd��}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    cs�z�|g|�Ri|��WStyVt|j�rDt|j|j|j��nt|j|j��YnXtytt|j|j��Yn:t	y�|jdkr�dt
�vr�t|j|j��n��Yn0dS�Nr)rr�r�r�_name�_ppidrrr	r�r�)�self�args�kwargs��funrwrx�wrapper#s


z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rwr�rx�wrap_exceptionssr�c	cspz
dVWn`ttfyLt|j�r:t|j|j|j��nt|j|j��Yn tyjt	|j|j��Yn0dS)z8Same as above, for routines relying on reading /proc fs.N)
rrr�r�rr�r�rrr	)�instrwrwrx�wrap_exceptions_procfs8s

r�c@s�eZdZdZgd�Zdd�Zdd�Zeedd���Z	d	d
�Z
dd�Zed
d��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zer�edd ��Zed!d"��ZeZed#d$��Zed%d&��Zed'd(��Zed)d*��ZedLd,d-��ZedMd/d0��Zed1d2��Zed3d4��Z ed5d6��Z!ed7d8��Z"ed9d:��Z#e$d;d<�Z%e$d;d=�Z&d>d?�Z'e(�r�ed@dA��Z)ne'Z)e*�r�edBdC��Z+ne'Z+e�r�edDdE��Z,edFdG��Z-edHdI��Z.edNdJdK��Z/d.S)Or�z1Wrapper class around underlying C implementation.)r�r�r��_cachecCs||_d|_d|_dS�N)r�r�r�)r�r�rwrwrx�__init__NszProcess.__init__cCst�|j�dS)z+Raise NSP if the process disappeared on us.N)rp�	proc_namer��r�rwrwrx�
_assert_aliveSszProcess._assert_alivecCs$t�|j�}t|�tt�ks J�|S)z;Retrieves multiple process info in one shot as a raw tuple.)rpr�r�r�r��r�r~rwrwrx�oneshotYszProcess.oneshotcCs|j�|�dSr�)r�Zcache_activater�rwrwrx�
oneshot_enteraszProcess.oneshot_entercCs|j�|�dSr�)r�Zcache_deactivater�rwrwrx�oneshot_exitdszProcess.oneshot_exitcCs(|��td}|dur|St�|j�S)NrK)r�r�rpr�r�)r�rKrwrwrxrKgszProcess.namecCs�tr|jdkrdSt�|j�Strj|jdkr0dSt|�� t�d|j�Wd�S1s^0Yn |��}|r�t	|d�p�dSdSdS)Nr�z/proc/%s/exe)
rr�rpZproc_exerr��os�readlink�cmdliner)r�r�rwrwrx�exels


0zProcess.exec
Cs�tr|jdkrgStr�zt�|j�WSty�}zh|jtjkr�t|j�r^t	|j|j
|j��q�t|j�s|t
|j|j
|j��q�gWYd}~Sn�WYd}~q�d}~00nt�|j�SdSr�)rr�rrpZproc_cmdliner�r��EINVALr�rr�r�r�r)r�r�rwrwrxr��s

zProcess.cmdlinecCst�|j�Sr�)rpZproc_environr�r�rwrwrx�environ�szProcess.environcCs<|��td}t��}z
||WSty6YdS0dS)Nr;)r�r�rZget_terminal_map�KeyError)r�Ztty_nrZtmaprwrwrx�terminal�s
zProcess.terminalcCs|��td|_|jS)Nr3)r�r�r�r�rwrwrxr3�szProcess.ppidcCs.|��}t�|td|td|td�S)Nr5r6r7)r�rZpuidsr��r�Zrawtuplerwrwrx�uids�s


�zProcess.uidscCs.|��}t�|td|td|td�S)Nr8r9r:)r�rZpgidsr�r�rwrwrx�gids�s


�zProcess.gidscCs8|��}t�|td|td|td|td�S)NrArBrCrD)r�rrbr�r�rwrwrxr{�s



�zProcess.cpu_timescCs|��tdS)NrJ�r�r�r�rwrwrx�cpu_num�szProcess.cpu_numcCs@|��}t|td|td|td|td|td�S)NrErFrGrHrI)r�r^r�r�rwrwrx�memory_info�s




�zProcess.memory_infocCs|��tdS)Nr<r�r�rwrwrxr<�szProcess.create_timecCs trt�|j�St|���SdSr�)�HAS_PROC_NUM_THREADSrprr�r��threadsr�rwrwrx�num_threads�szProcess.num_threadscCs$|��}t�|td|td�S)Nr=r>)r�rZpctxswr�r�rwrwrx�num_ctx_switches�s


�zProcess.num_ctx_switchescCsHt�|j�}g}|D]"\}}}t�|||�}|�|�qtrD|��|Sr�)rpZproc_threadsr�rZpthreadr}rr�)r�r�r�Z	thread_id�utimeZstimer�rwrwrxr��szProcess.threads�inetc	Cs|tvr(td|d�dd�tD��f��tr�t|\}}g}t�|j�}|D]R}|\}}}	}
}}}
|
|jkspJ�||vrL|	|vrLt|||	|
||t�}|�	|�qL|�
�t|�St|\}}t�|j||�}g}|D]2}|\}}}	}
}}t|||	|
||t�}|�	|�q�t
�r|�
�|S)Nr�r�cSsg|]}t|��qSrwr�r�rwrwrxr��r�z'Process.connections.<locals>.<listcomp>)r
r�r�rrpr�r�rr�r}r�r�Zproc_connectionsr)r�r�r�r�r~r�rr�r�r�r�r�r4r�r�rwrwrxr��s<���zProcess.connectionsNcCst�|j||j�Sr�)rZwait_pidr�r�)r��timeoutrwrwrx�waitszProcess.waitcCst�|j�Sr�)r��getpriorityr�r�rwrwrx�nice_getszProcess.nice_getcCst�|j|�Sr�)r��setpriorityr�)r��valuerwrwrx�nice_set#szProcess.nice_setcCs|��td}t�|d�S)Nr4�?)r�r��
PROC_STATUSES�get)r��coderwrwrxr4'szProcess.statuscCs(|��}t�|td|tddd�S)Nr?r@r�)r�rZpior�r�rwrwrx�io_counters-s

�zProcess.io_counterscCs>tr|jdkrdStstr*t�|j�p(dSttr4dnd��dS)z)Return process current working directory.rNr�r�)rr�r�HAS_PROC_OPEN_FILESrpZproc_cwdr�rr�rwrwrx�cwd6s��zProcess.cwdZmmaprfrhcCst�dSr�)r�r�rwrwrx�_not_implementedKszProcess._not_implementedcCst�|j�}dd�|D�S)z8Return files opened by process as a list of namedtuples.cSsg|]\}}t�||��qSrw)rZ	popenfile)r��pathr�rwrwrxr�Ur�z&Process.open_files.<locals>.<listcomp>)rprr�)r�r�rwrwrx�
open_filesQszProcess.open_filescCst�|j�}tr|��|S)z=Return the number of file descriptors opened by this process.)rprr�rr�r�rwrwrx�num_fds\szProcess.num_fdscCst�|j�Sr�)rpZproc_cpu_affinity_getr�r�rwrwrx�cpu_affinity_getjszProcess.cpu_affinity_getc
Cs�tttt����}|D]}||vrtd||f��qzt�|j|�WnZty�}zB|j	t	j
t	jfvr�|D]}||vrltd||f��ql�WYd}~n
d}~00dS)Nz#invalid CPU #%i (choose between %s))�tupler�r�rr�rpZproc_cpu_affinity_setr�r�r�r�ZEDEADLK)r�ZcpusZallcpusr�r�rwrwrx�cpu_affinity_setns$���zProcess.cpu_affinity_setcCst�|j�Sr�)rpZproc_memory_mapsr�r�rwrwrx�memory_maps�szProcess.memory_mapscCsP|durt�|j|�St|�dkr2tdt|���|\}}t�|j|||�SdS)Nrz4second argument must be a (soft, hard) tuple, got %s)rpZproc_getrlimitr�r�r�r�Zproc_setrlimit)r��resourceZlimitsZsoftZhardrwrwrx�rlimit�s��zProcess.rlimit)r)N)N)0�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�rr�r�r�rKr�r�r�r�r3r�r�r{rr�r�Zmemory_full_infor<r�r�r�r�rrrr4r
rrZnt_mmap_groupedZnt_mmap_extrrr�HAS_PROC_NUM_FDSrrrrrrwrwrwrxr�Is�










	



!




��


r�)F)~r�
contextlibr�r�r�Zxml.etree.ElementTreeZetreeZElementTreer��collectionsrrr�rrrrprr�r	r
rrr
rrrrrrZ_compatrrrrZ__extra__all__ZSIDLZSTATUS_IDLEZSRUNZSTATUS_RUNNINGZSSLEEPZSTATUS_SLEEPINGZSSTOPZSTATUS_STOPPEDr�Z
STATUS_ZOMBIEZSWAITZSTATUS_WAITINGZSLOCKZ
STATUS_LOCKEDr
ZSDEADZ
STATUS_WAKINGZSONPROCZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZ
TCPS_SYN_SENTZ
CONN_SYN_SENTZTCPS_SYN_RECEIVEDZ
CONN_SYN_RECVZTCPS_FIN_WAIT_1ZCONN_FIN_WAIT1ZTCPS_FIN_WAIT_2ZCONN_FIN_WAIT2ZTCPS_TIME_WAITZCONN_TIME_WAITZTCPS_CLOSEDZ
CONN_CLOSEZTCPS_CLOSE_WAITZCONN_CLOSE_WAITZ
TCPS_LAST_ACKZ
CONN_LAST_ACKZTCPS_LISTENZCONN_LISTENZTCPS_CLOSINGZCONN_CLOSINGZPSUTIL_CONN_NONEZ	CONN_NONEr�ZgetpagesizeZPAGESIZEZAF_LINKr�ZHAS_PER_CPU_TIMESr�rr�dictr�rLrWr^Zpfullmemrbrergriryrzr{rr�r�r�r�r��
disk_usageZdisk_io_countersr�Znet_if_addrsr�r�r�r�r�r�r�r�r�r�r�r��contextmanagerr��objectr�rwrwrwrx�<module>s6�	��
�



�#�����	
	
#
(






Zerion Mini Shell 1.0