HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib64/python3.11/site-packages/psutil/__pycache__/_psbsd.cpython-311.pyc
�

8�;f�|����dZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddl
mZdd	l
m
Zdd
l
mZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!gZ"erWej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej0iZ1n�erWej#ej$ej'ej(ej)ej*ej2ej,ej+ej,ej%ej3ej4ej&iZ1nLerJej#ej$ej'ej(ej)ej*ej+ej,ej%ej3ej4ej&iZ1ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIejJejKejLiZMejN��ZOejPZPeQed��ZReQed��ZSeQed��ZTeQed��ZUeVdyidd�d d�d!d"�d#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdB�dCdD�dEdF�dGdH�dIdJ�dKdL�dMdN��ZWedOgdP���ZXedQgdR���ZYedSgdT���ZZeZZ[edUgdV���Z\edWdX��Z]edYdZ��Z^ered[gd\���Z_ned[gd]���Z_d^�Z`d_�Zad`�ZbeRrda�Zcn
db�Zcdcec_ddd�Zeeserde�Zfndf�Zfdg�Zgerdh�Zhnerdi�Zhdzdj�ZiejjZjejkZkejlZlejmZmdk�Zndl�Zoerdm�Zpdn�Zqdo�Zrdp�Zsedq���Ztdr�Zueserds�ZvnejvZvdt�Zwdu�Zxejydv���ZzGdw�dx��Z{dS){z5FreeBSD, OpenBSD and NetBSD platforms implementation.�N)�defaultdict)�
namedtuple)�ElementTree�)�_common)�_psposix)�_psutil_bsd)�
_psutil_posix)�FREEBSD)�NETBSD)�OPENBSD)�AccessDenied)�
NoSuchProcess)�
ZombieProcess)�	conn_tmap)�conn_to_ntuple)�debug)�memoize)�memoize_when_activated)�
usage_percent)�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)�total�	available�percent�used�free�active�inactive�buffers�cached�shared�wired�	scputimes��user�nice�system�idle�irq�pmem)rArC�text�data�stack�	pcputimes)r]r_�
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_bytes�	read_time�
write_time�	busy_time)rnrorprqc
�J�tj��}tr�|\}}}}}}tdd��5}|D]�}|�d��r+t|���d��dz}	�B|�d��r*t|���d��dz}
��	ddd��n#1swxYwY||z}||z
}n|\}}}}}}}	}
||z|z}||z|z}t||z
|d���}
t|||
|||||	||
|��S)Nz
/proc/meminfo�rbsBuffers:ris
MemShared:��round_)	�cext�virtual_memr�open�
startswith�int�splitrrO)�memrPrTrUrVrZrX�f�linerWrYrS�availrRs              �B/opt/alt/python311/lib64/python3.11/site-packages/psutil/_psbsd.py�virtual_memoryr��s���
�
�
�
�C�
�'�7:�4��t�V�X�u�f��/�4�
(�
(�	9�A��
9�
9���?�?�;�/�/�9�!�$�*�*�,�,�q�/�2�2�T�9�G�G��_�_�]�3�3�9� ������a��1�1�D�8�F��	
9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9���~�������HK�E��t�V�X�u�f�g�v��6�!�D�(����~��&���U�U�]�U�1�=�=�=�G��
�
���������
���s�BC�C
�
C
c��tj��\}}}}}t||d���}tj||||||��S)z@System swap memory as (total, used, free, sin, sout) namedtuple.rrw)ry�swap_memrr�sswap)rPrSrT�sin�soutrRs      r��swap_memoryr��sF��#'�=�?�?� �E�4��s�D��D�%��2�2�2�G��=���d�G�S�$�?�?�?�c�Z�tj��\}}}}}t|||||��S)z,Return system per-CPU times as a namedtuple.)ry�	cpu_timesr[r\s     r�r�r��s0��$(�N�$4�$4�!�D�$���c��T�4���s�3�3�3r�c��g}tj��D]2}|\}}}}}t|||||��}|�|���3|S)�(Return system CPU times as a namedtuple.)ryrr[�append)�ret�cpu_tr]r^r_r`ra�items        r�rr�s^�����'�)�)�	�	�E�,1�)�D�$���c��T�4���s�;�;�D��J�J�t������
r�c��t��dkrt��gStjrd}t	|���dt_t��gS)r�r�&supported only starting from FreeBSD 8T)�cpu_count_logicalr�r�
__called__�NotImplementedError)�msgs r�rr
sQ�����!�#�#��K�K�=� ��#�	+�:�C�%�c�*�*�*�#'�
� ����}�r�Fc�(�tj��S)z0Return the number of logical CPUs in the system.)ryr��r�r�r�r�s���!�#�#�#r�c�.�t��dkrdndS)Nr)r�r�r�r��cpu_count_coresr�s��%�'�'�1�,�,�q�q�$�6r�c�~�d}tj��}|��|�d��}|dkrt|d|dz�}tj|��}	t|�d����pd}|���n#|���wxYw|st��dkrdS|S)z-Return the number of CPU cores in the system.Nz	</groups>���r0zgroup/children/group/cpur)	ry�cpu_topology�rfindr�
fromstring�len�findall�clearr�)r��s�index�roots    r�r�r�$s�����������=��G�G�K�(�(�E���{�{��k���	�k�N��"�-�a�0�0��!��d�l�l�+E�F�F�G�G�O�4�C��J�J�L�L�L�L��D�J�J�L�L�L�L�����	� �"�"�a�'�'��q��
s�$B�B$c���trtj��\}}}}}n�tr�tj��\}}}}}}}t	dd��5}|D]>}|�d��r't
|���d��}�?	ddd��n#1swxYwYn"trtj��\}}}}}}}tj
||||��S)z*Return various CPU stats as a named tuple.z
/proc/statrvsintrrN)rry�	cpu_statsrr{r|r}r~r
r�	scpustats)	�ctxsw�intrs�
soft_intrs�syscalls�traps�faults�forksr�r�s	         r�r�r�?s:���
�59�N�4D�4D�1��u�j�(�E�E�	�
�
�N���	A��u�j�(�E�6�5��,��
%�
%�	1���
1�
1���?�?�7�+�+�1���
�
���Q��0�0�E��
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��
�
�
�N���	A��u�j�(�E�6�5���U�E�:�x�@�@�@s�AB#�#B'�*B'c�f�g}t��}t|��D�]}	tj|��\}}n#t$rY�(wxYw|r�	t|�d��d�d��d��}n#ttf$rd}YnwxYw	t|�d��d�d��d��}n#ttf$rd}YnwxYw|�	tj|||������|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��rangery�cpu_freqr�r}r~�
IndexError�
ValueErrorr�r�scpufreq)r��num_cpus�cpu�current�available_freq�min_freq�max_freqs       r�r�r�as]��
��$�&�&����?�?�	F�	F�C�
�*.�-��*<�*<�'�����&�
�
�
���
�����
$�$�"�>�#7�#7��#<�#<�R�#@�#F�#F�s�#K�#K�A�#N�O�O�H�H��"�J�/�$�$�$�#�H�H�H�$����$�"�>�#7�#7��#<�#<�Q�#?�#E�#E�c�#J�#J�1�#M�N�N�H�H��"�J�/�$�$�$�#�H�H�H�$�����J�J�w�'���8�D�D�E�E�E�E��
s5�<�
A	�A	�AB�B'�&B'�+AC-�-D�Dc�p�ttj����}tj|dd��gS)Ng)�floatryr�rr�)�currs r�r�r�{s-���T�]�_�_�%�%��� ��s�C�0�0�1�1r�c	��g}tj��}|D];}|\}}}}dx}}	tj||||||	��}
|�|
���<|S)z�Return mounted disk partitions as a list of namedtuples.
    'all' argument is ignored, see:
    https://github.com/giampaolo/psutil/issues/906.
    N)ry�disk_partitionsr�	sdiskpartr�)�all�retlist�
partitions�	partition�device�
mountpoint�fstype�opts�maxfile�maxpath�ntuples           r�r�r��sy��
�G��%�'�'�J����	�+4�(��
�F�D� � ��'��"��J���g�w�
�
��	���v������Nr�c���t�����}i}|D]�}	tj|��}tj|��}tj|��\}}t
td��rtj|��}d�	|��}d|v}tj
|||||��||<��#t$r }	|	jtj
kr�Yd}	~	��d}	~	wwxYw|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplex�,�runningN)�net_io_counters�keys�
cext_posix�
net_if_mtu�net_if_flags�net_if_duplex_speed�hasattrrr��join�	snicstats�OSError�errno�ENODEV)
�namesr�rM�mtu�flags�duplex�speed�output_flags�isup�errs
          r��net_if_statsr��s�����"�"�$�$�E�
�C�����	��'��-�-�C��+�D�1�1�E�&�:�4�@�@�M�F�E��w��,�,�
3� �*�6�2�2���8�8�E�?�?�L���%�D��)��f�e�S�,���C��I�I���	�	�	��y�E�L�(�(��)�(�(�(�(�����	�����Js�?C�
C/�C*�*C/c��|tjvr7td|�dd�d�tD���������t|\}}t	��}t
rt
jd||��}n2trt
jd|��}nt
j||��}|D]<}|\}}}}	}
}}t||||	|
|t|��}
|�|
���=t|��S)z System-wide network connections.�invalid � kind argument; choose between �, c�,�g|]}t|����Sr���repr��.0�xs  r��
<listcomp>z#net_connections.<locals>.<listcomp>�s��;�;�;�A��Q���;�;�;r�r�)
rrr�r��setr
ry�net_connectionsrr�TCP_STATUSES�add�list)�kind�families�typesr��rawlistr��fd�fam�type�laddr�raddrr �pid�nts              r�r�r��s���7�$�$�$��j��t�t�T�Y�Y�;�;��;�;�;�<�<�<�
>�
�
�	
� ��o�O�H�e�

�%�%�C��8��&�r�8�U�;�;���	�8��&�r�4�0�0����&�x��7�7������37�0��C��u�e�V�S�
���T�5�%���s�
�
��	����������9�9�r�c���	tj��\}}}n#t$rYdSwxYw|dk}|r
tj}n|dkr
tj}n|dz}tj|||��S)zReturn battery info.Nrr��<)ry�sensors_batteryr�r�POWER_TIME_UNLIMITED�POWER_TIME_UNKNOWN�sbattery)rR�minsleft�
power_plugged�secslefts    r�rr�s���	�/3�/C�/E�/E�,�G�X�}�}��"�	�	�	��4�4�	����&��*�
��	%��3�H�H�
��^�^��1�H�H��"�}�H�����=�A�A�As��
(�(c	�8�tt��}t��}t|��D]g}	t	j|��\}}|dkrd}d|z}|d�tj||||�����X#t$rY�dwxYw|S)z?Return CPU cores temperatures if available, else an empty dict.rNzCore %s�coretemp)
rr�r�r�ry�sensors_cpu_temperaturer�r�shwtempr�)r�r�r�r��highrMs      r��sensors_temperaturesr�s����$����$�&�&����?�?�
	�
	�C�	
� $� <�S� A� A�
����1�9�9��D� �3����J��&�&��O�D�'�4��>�>������'�
�
�
���
�����
s�AB
�

B�Bc�(�tj��S)z:The system boot time expressed in seconds since the epoch.)ry�	boot_timer�r�r�rrs���>���r�c���g}tj��}|D]Q}|\}}}}}|dkrtsJ�d}|dkr�"tj||pd|||��}|�|���R|S)z:Return currently connected users as a list of namedtuples.r�N�~)ry�usersr
r�suserr�)	r�r�r�r]�tty�hostname�tstamprrs	         r�rr	s����G��j�l�l�G�����+/�(��c�8�V�S��"�9�9��N�N�N��C��#�:�:��
�]�4����h���
D�
D�����r������Nr�c��	td�����dS#t$rYdSt$rYdSwxYw)NrTF)�ProcessrMrrr�r�r��
_pid_0_existsr sa�����
�
�������t�������u�u������t�t����s�!%�
?�	?�?c��tj��}tr(d|vr$t��r|�dd��|S)z7Returns a list of PIDs currently running on the system.r)ry�pidsr
r �insert)r�s r�r"r"*s@��
�)�+�+�C���A�S�L�L�m�o�o�L�	�
�
�1�a�����Jr�c�R�tj|��}|s|t��vSdS)zReturn True if pid exists.T)r�
pid_existsr")r�existss  r�r%r%6s/���$�S�)�)���	��$�&�&�=� ��4r�c��	tj|��td}t�|��t
jkS#t$rYdSwxYw)Nr F)ry�proc_oneshot_info�kinfo_proc_map�
PROC_STATUSES�getr�
STATUS_ZOMBIEr�)r�sts  r��	is_zombier.Ds_���
�
#�C�
(�
(���)A�
B��� � ��$�$��(=�=�=�������u�u����s�AA�
A�Ac�F��tj����fd���}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    c���	�|g|�Ri|��S#t$rOt|j��r t|j|j|j���t
|j|j���t$rt|j|j���t$r8|jdkr+dt��vrt|j|j�����wxYw)Nr)rr.rr�_name�_ppidrrrr�r")�self�args�kwargs�funs   �r��wrapperz wrap_exceptions.<locals>.wrapperQs����	��3�t�-�d�-�-�-�f�-�-�-��!�	:�	:�	:����"�"�
:�#�D�H�d�j�$�*�E�E�E�#�D�H�d�j�9�9�9��	5�	5�	5��t�x���4�4�4��	�	�	��x�1�}�}�����;�;�&�t�x���<�<�<���
	���s
��B<C)�	functools�wraps)r6r7s` r��wrap_exceptionsr:Ls:���
�_�S����������$�Nr�c#� K�	dV�dS#ttf$rOt|j��r t	|j|j|j���t|j|j���t$rt|j|j���wxYw)z8Same as above, for routines relying on reading /proc fs.N)
rrr.rrr1r2rrr)�insts r��wrap_exceptions_procfsr=gs�����1�
�������� 1�2�6�6�6��T�X���	6����$�*�d�j�A�A�A����$�*�5�5�5��1�1�1��4�8�T�Z�0�0�0�1���s
�
�BB
c� �eZdZdZgd�Zd�Zd�Zeed�����Z	d�Z
d�Zed���Zed	���Z
ed
���Zed���Zed���Zed
���Zed���Zed���Zed���Zered���Zed���ZeZed���Zed���Zed���Zed���Zed*d���Zed+d���Zed���Zed���Z ed���Z!ed���Z"ed���Z#e$d d!��Z%e$d d"��Z&d#�Z'e(red$���Z)ne'Z)e*red%���Z+ne'Z+er/ed&���Z,ed'���Z-ed(���Z.ed+d)���Z/dSdS),rz1Wrapper class around underlying C implementation.)rr1r2�_cachec�0�||_d|_d|_dS�N)rr1r2)r3rs  r��__init__zProcess.__init__}s�������
���
�
�
r�c�8�tj|j��dS)z+Raise NSP if the process disappeared on us.N)ry�	proc_namer�r3s r��
_assert_alivezProcess._assert_alive�s��	
��t�x� � � � � r�c��tj|j��}t|��tt��ksJ�|S)z;Retrieves multiple process info in one shot as a raw tuple.)ryr(rr�r)�r3r�s  r��oneshotzProcess.oneshot�s:���$�T�X�.�.���3�x�x�3�~�.�.�.�.�.�.��
r�c�:�|j�|��dSrA)rI�cache_activaterEs r��
oneshot_enterzProcess.oneshot_enter�s����#�#�D�)�)�)�)�)r�c�:�|j�|��dSrA)rI�cache_deactivaterEs r��oneshot_exitzProcess.oneshot_exit�s����%�%�d�+�+�+�+�+r�c��|���td}|�|ntj|j��S)NrM)rIr)ryrDr)r3rMs  r�rMzProcess.name�s4���|�|�~�~�n�V�4�5���'�t�t�T�^�D�H�-E�-E�Er�c�l�tr&|jdkrdStj|j��StrR|jdkrdSt|��5t
jd|jz��cddd��S#1swxYwYdS|���}|rt|d��pdSdS)Nr�z/proc/%s/exe)
rrry�proc_exerr=�os�readlink�cmdliner)r3rVs  r��exezProcess.exe�s����	��x�1�}�}��r��=���*�*�*�
�	��x�1�}�}��r�'��-�-�
>�
>��{�>�D�H�#<�=�=�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>����
>�
>�
>�
>�
>�
>��l�l�n�n�G��
��W�Q�Z�(�(�.�B�.��rs�A:�:A>�A>c���tr
|jdkrgStr�	tj|j��S#t
$r�}|jtjkr�t|j��r t|j|j
|j���t|j��s t|j|j
|j���td|z��gcYd}~S�d}~wwxYwtj|j��S)Nrz'ignoring %r and returning an empty list)r
rrry�proc_cmdliner�r��EINVALr.rr1r2r%rr)r3r�s  r�rVzProcess.cmdline�s����	/�t�x�1�}�}��I�
�	/�

��(���2�2�2���
�
�
��9���,�,� ���*�*�"�+�D�H�d�j�$�*�M�M�M�'���1�1�"�+�D�H�d�j�$�*�M�M�M��G�#�M�N�N�N�!�	�	�	�	�	�	������
�����$�T�X�.�.�.s"�6�
C�BC�C�C�Cc�4�tj|j��SrA)ry�proc_environrrEs r��environzProcess.environ�s��� ���*�*�*r�c��|���td}tj��}	||S#t$rYdSwxYw)Nr-)rIr)r�get_terminal_map�KeyError)r3�tty_nr�tmaps   r��terminalzProcess.terminal�sX��������w� 7�8���(�*�*��	���<����	�	�	��4�4�	���s�A�
A�Ac�d�|���td|_|jS)Nr)rIr)r2rEs r�rzProcess.ppid�s#���\�\�^�^�N�6�$:�;��
��z�r�c��|���}tj|td|td|td��S)Nr!r#r%)rIr�puidsr)�r3�rawtuples  r��uidszProcess.uids��J���<�<�>�>���}��^�J�/�0��^�O�4�5��^�K�0�1�
�
�	
r�c��|���}tj|td|td|td��S)Nr'r)r+)rIr�pgidsr)rgs  r��gidszProcess.gids�rjr�c���|���}tj|td|td|td|td��S)Nr9r;r=r?)rIrrfr)rgs  r�r�zProcess.cpu_times�sX���<�<�>�>��� ��^�K�0�1��^�J�/�0��^�N�3�4��^�M�2�3�	
�
�	
r�c�L�|���tdS)NrK�rIr)rEs r��cpu_numzProcess.cpu_num�s���<�<�>�>�.��":�;�;r�c	��|���}t|td|td|td|td|td��S)NrArCrErGrI)rIrbr)rgs  r��memory_infozProcess.memory_infosb���<�<�>�>����^�E�*�+��^�E�*�+��^�I�.�/��^�I�.�/��^�J�/�0�
�
�	
r�c�L�|���tdS)Nr/rprEs r�r/zProcess.create_times���|�|�~�~�n�]�;�<�<r�c��trtj|j��St	|�����SrA)�HAS_PROC_NUM_THREADSryrrr��threadsrEs r��num_threadszProcess.num_threadss3���	'��(���2�2�2��t�|�|�~�~�&�&�&r�c��|���}tj|td|td��S)Nr1r3)rIr�pctxswr)rgs  r��num_ctx_switcheszProcess.num_ctx_switchess?���<�<�>�>���~��^�$6�7�8��^�$8�9�:�
�
�	
r�c���tj|j��}g}|D]1\}}}tj|||��}|�|���2tr|���|SrA)ry�proc_threadsrr�pthreadr�r
rF)r3r�r��	thread_id�utime�stimer�s       r�rwzProcess.threads#sx���#�D�H�-�-����'.�	#�	#�#�I�u�e��_�Y��u�=�=�F��N�N�6�"�"�"�"��	!���� � � ��r��inetc
�<�|tvr7td|�dd�d�tD���������t|\}}g}trt	j|j|��}n>trt	j|j||��}nt	j|j||��}|D]R}|dd�\}}}	}
}}tr	||vs|	|vr�#t|||	|
||t��}
|�|
���S|�
��|S)Nr�r�r�c�,�g|]}t|����Sr�r�r�s  r�r�z'Process.connections.<locals>.<listcomp>4s��#?�#?�#?��D��G�G�#?�#?�#?r�r*)rr�r�rryr�rr
�proc_connectionsrrr�r�rF)r3r�r�r�r�r�r�r�rrrrr rs              r��connectionszProcess.connections/sI���y� � ��*��4�4����#?�#?�Y�#?�#?�#?�@�@�@�B���
�$�D�/���%����	G��*�4�8�T�:�:�G�G�
�	G��*�4�8�X�u�E�E�G�G��+�D�H�h��F�F�G��	�	�D�26�r��r�(�/�B��T�5�%���
��x�'�'�T��->�->����C��u�e�V�\���B�
�J�J�r�N�N�N�N��������
r�Nc�B�tj|j||j��SrA)r�wait_pidrr1)r3�timeouts  r��waitzProcess.waitMs��� ���7�D�J�?�?�?r�c�4�tj|j��SrA)r��getpriorityrrEs r��nice_getzProcess.nice_getQs���%�d�h�/�/�/r�c�6�tj|j|��SrA)r��setpriorityr)r3�values  r��nice_setzProcess.nice_setUs���%�d�h��6�6�6r�c��|���td}t�|d��S)Nr �?)rIr)r*r+)r3�codes  r�r zProcess.statusYs/���|�|�~�~�n�X�6�7��� � ��s�+�+�+r�c��|���}tj|td|tddd��S)Nr5r7r�)rIr�pior)rgs  r��io_counterszProcess.io_counters_sD���<�<�>�>���{��^�O�4�5��^�$4�5�6���	
�
�	
r�c��tr
|jdkrdStstrt	j|j��St
trdnd���)z)Return process current working directory.rrRr�)r
rr�HAS_PROC_OPEN_FILESry�proc_cwdr�rrEs r��cwdzProcess.cwdis_��
�		�t�x�1�}�}��2�
�	�*�	��=���*�*�*�%�<C�K�8�8����
r��mmaprjrlc��t�rA)r�rEs r��_not_implementedzProcess._not_implemented�s��!�!r�c�L�tj|j��}d�|D��S)z8Return files opened by process as a list of namedtuples.c�>�g|]\}}tj||����Sr�)r�	popenfile)r��pathr�s   r�r�z&Process.open_files.<locals>.<listcomp>�s)��H�H�H�H�D�"�G�%�d�B�/�/�H�H�Hr�)ryrr)r3r�s  r��
open_fileszProcess.open_files�s*���*�4�8�4�4�G�H�H��H�H�H�Hr�c�n�tj|j��}tr|���|S)z=Return the number of file descriptors opened by this process.)ryrrrrFrHs  r��num_fdszProcess.num_fds�s5���#�D�H�-�-�C��
%��"�"�$�$�$��Jr�c�4�tj|j��SrA)ry�proc_cpu_affinity_getrrEs r��cpu_affinity_getzProcess.cpu_affinity_get�s���-�d�h�7�7�7r�c�~�tttt��������}|D]}||vrt	d||fz����	tj|j|��dS#t$rB}|j	tj
tjfvr|D]}||vrt	d||fz�����d}~wwxYw)Nz#invalid CPU #%i (choose between %s))�tupler�r�rr�ry�proc_cpu_affinity_setrr�r�rZ�EDEADLK)r3�cpus�allcpusr�r�s     r��cpu_affinity_setzProcess.cpu_affinity_set�s���
�E�#�m�o�o�"6�"6�7�7�8�8�G��
�
���g�%�%�$�=��g��N����&�
��*�4�8�T�:�:�:�:�:���
�
�
�
�9���u�}� =�=�=�#�����g�-�-�",� E�#&��.�!1�#�#��.�
�����
���s�A0�0
B<�:=B7�7B<c�4�tj|j��SrA)ry�proc_memory_mapsrrEs r��memory_mapszProcess.memory_maps�s���(���2�2�2r�c���|�tj|j|��St|��dkrt	dt|��z���|\}}tj|j|||��S)Nr"z4second argument must be a (soft, hard) tuple, got %s)ry�proc_getrlimitrr�r�r��proc_setrlimit)r3�resource�limits�soft�hards     r��rlimitzProcess.rlimit�st���~��*�4�8�X�>�>�>��v�;�;�!�#�#�$�N��v�,�,�'����$�
��d��*�4�8�X�t�T�J�J�Jr�)r�rA)0�__name__�
__module__�__qualname__�__doc__�	__slots__rBrFr:rrIrLrOrMrWrVr]rcrrirmr�rrqrs�memory_full_infor/rxr{rwr�r�r�r�r r�r�r�nt_mmap_grouped�nt_mmap_extr�r�r��HAS_PROC_NUM_FDSr�r�r�r�r�r�r�r�rrxs(������;�;�3�3�3�I����
!�!�!��������_��*�*�*�,�,�,��F�F��_�F�����_��.�/�/��_�/�4�+�+��_�+�����_������_���
�
��_�
��
�
��_�
��
�
��_�
��<�	�	<�	<�
��	<��
�
��_�
�#���=�=��_�=��'�'��_�'��
�
��_�
��	�	��_�	������_��:�@�@�@��_�@��0�0��_�0��7�7��_�7��,�,��_�,�
�
�
��_�
��
�
��_�
�!�j��<���O��*��H���K�"�"�"�
�	&�	�	I�	I�
��	I�	I�&�
��#�	�	�	�
��	�	�#���0K�	�	8�	8�
��	8�
�	�	�
��	�4
�	3�	3�
��	3�
�
	K�
	K�
	K�
��
	K�
	K�
	K�M0K�0Kr�rr�)F)|r��
contextlibr�r8rT�collectionsrr�	xml.etreerrRrrr	ryr
r�rrr
rrrrrrrrr�_compatrrrr�__extra__all__�SIDL�STATUS_IDLE�SRUN�STATUS_RUNNING�SSLEEP�STATUS_SLEEPING�SSTOP�STATUS_STOPPED�SZOMBr,�SWAIT�STATUS_WAITING�SLOCK�
STATUS_LOCKEDr*�SDEAD�
STATUS_WAKING�SONPROC�TCPS_ESTABLISHED�CONN_ESTABLISHED�
TCPS_SYN_SENT�
CONN_SYN_SENT�TCPS_SYN_RECEIVED�
CONN_SYN_RECV�TCPS_FIN_WAIT_1�CONN_FIN_WAIT1�TCPS_FIN_WAIT_2�CONN_FIN_WAIT2�TCPS_TIME_WAIT�CONN_TIME_WAIT�TCPS_CLOSED�
CONN_CLOSE�TCPS_CLOSE_WAIT�CONN_CLOSE_WAIT�
TCPS_LAST_ACK�
CONN_LAST_ACK�TCPS_LISTEN�CONN_LISTEN�TCPS_CLOSING�CONN_CLOSING�PSUTIL_CONN_NONE�	CONN_NONEr��getpagesize�PAGESIZE�AF_LINKr��HAS_PER_CPU_TIMESrvr�r��dictr)rOr[rb�pfullmemrfrirkrmr�r�r�rr�r�r�r�r�r��
disk_usage�disk_io_countersr��net_if_addrsr�r�rrrrr r"r%r.r:�contextmanagerr=rr�r�r��<module>r�s���
<�;�������������	�	�	�	�#�#�#�#�#�#�"�"�"�"�"�"�!�!�!�!�!�!�������������!�!�!�!�!�!�)�)�)�)�)�)�������������������!�!�!�!�!�!�"�"�"�"�"�"�"�"�"�"�"�"�������#�#�#�#�#�#�������������+�+�+�+�+�+�"�"�"�"�"�"�&�&�&�&�&�&�$�$�$�$�$�$�'�'�'�'�'�'����������(��	�7�&��	�7�)���W�,��
�G�*��
�G�)��
�G�*��
�G�)��M�M�
���	�7�&���W�,��
�G�*�	
�
�G�)��
�G�)�	
�	�7�(���g�,�'�M�M�*���	�7�&���W�,��
�G�*��
�G�)��	�7�(���g�,�
�M�	��7�3����-���G�1���'�0���'�0����/���g�(���'�1����-���g�)���w�+���7�,�
��"�:�!�#�#��
�
���G�D�/�2�2���w�t�%7�8�8���g�d�$5�6�6���7�4��0�0�������	
����1���Q���!�	�
�a���Q�
��!���a���!������R���r���"���2���b�� �R�!�"��#�$��%�&	��'�(	��)�*
�B�+�,
�B�-�.�R�/�0�2�1�2
��3��H	�
��L�L�L�	M�	M��
�J��:�:�:�
<�
<�	��z�&�A�A�A�B�B�����J�{�M�M�M�
O�
O�	��
��A�C�C�
�
�J��I�
K�
K�	��C��j��%2�%2�%2�3�3�G�G�
�j��%B�%B�%B�C�C�G�,�,�,�^@�@�@�4�4�4��%�����"��� %�M��$�$�$�
� �f� �7�7�7�7����6A�A�A�@�2�����0
�2�2�2�2�����"�
 �
��(���&���&�����0���>�"�B�B�B� ���0���

�
�
�*	���	�������
%�f�
%������$�J�������6��
1�
1���
1� YK�YK�YK�YK�YK�YK�YK�YK�YK�YKr�