HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //proc/self/root/usr/local/lib64/python3.9/site-packages/psutil/__pycache__/_psosx.cpython-39.pyc
a

q�dg?�@s�dZddlZddlZddlZddlmZddlmZddlmZddlm	Z
ddlmZdd	lm
Z
dd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZgZe��ZejZe
jeje
jej e
j!ej"e
j#ej$e
j%ej&e
j'ej(e
j)ej*e
j+ej,e
j-ej.e
j/ej0e
j1ej2e
j3ej4iZ5e
j6ej7e
j8ej9e
j:ej;e
j<ej=e
j>ej?iZ@eAdddddddddddd�ZBeAddddddddd�ZCedgd ��ZDed!gd"��ZEed#gd$��ZFed%eFjGd&�ZHd'd(�ZId)d*�ZJd+d,�ZKd-d.�ZLd/d0�ZMd1d2�ZNd3d4�ZOd5d6�ZPejQZQe
jRZRdMd8d9�ZSd:d;�ZTe
jUZUejVZVdNd=d>�ZWd?d@�ZXdAdB�ZYdCdD�ZZdEdF�Z[ej\Z\dGdH�Z]dIdJ�Z^GdKdL�dL�Z_dS)OzmacOS platform implementation.�N)�
namedtuple�)�_common)�_psposix)�_psutil_osx)�
_psutil_posix)�AccessDenied)�
NoSuchProcess)�
ZombieProcess)�	conn_tmap)�conn_to_ntuple)�
isfile_strict)�memoize_when_activated)�parse_environ_block)�
usage_percent)�PermissionError)�ProcessLookupError��������	�
)�ppid�ruid�euid�suid�rgid�egid�sgid�ttynr�ctime�status�name)�cpuutime�cpustime�rss�vms�pfaults�pageins�
numthreads�volctxsw�	scputimes��user�nice�system�idle�svmem)�total�	available�percent�used�free�active�inactive�wired�pmem)r)r*r+r,�pfullmem)�ussc		CsTt��\}}}}}}||}||}||8}t|||dd�}t||||||||�S)z&System virtual memory as a namedtuple.r�Zround_)�cextZvirtual_memrr5)	r6r;r<r=r:ZspeculativeZavailr9r8�rC�9/usr/local/lib64/python3.9/site-packages/psutil/_psosx.py�virtual_memoryqsrEcCs4t��\}}}}}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rrA)rBZswap_memrrZsswap)r6r9r:�sinZsoutr8rCrCrD�swap_memory�srGcCst��\}}}}t||||�S)z(Return system CPU times as a namedtuple.)rB�	cpu_timesr/r0rCrCrDrH�srHcCs:g}t��D](}|\}}}}t||||�}|�|�q|S)z)Return system CPU times as a named tuple.)rB�
per_cpu_timesr/�append)�retZcpu_tr1r2r3r4�itemrCrCrDrI�srIcCst��S)z0Return the number of logical CPUs in the system.)rB�cpu_count_logicalrCrCrCrDrM�srMcCst��S)z-Return the number of CPU cores in the system.)rB�cpu_count_coresrCrCrCrDrN�srNcCs"t��\}}}}}t�||||�S�N)rB�	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsZ_trapsrCrCrDrP�s
��rPcCst��\}}}t�|||�gS)z�Return CPU frequency.
    On macOS per-cpu frequency is not supported.
    Also, the returned frequency never changes, see:
    https://arstechnica.com/civis/viewtopic.php?f=19&t=465002.
    )rB�cpu_freqrZscpufreq)�currZmin_Zmax_rCrCrDrQ�srQFc	Csjg}t��}|D]T}|\}}}}|dkr,d}|sJtj�|�rtj�|�sJqt�||||�}|�|�q|S)z8Return mounted disk partitions as a list of namedtuples.�none�)	rB�disk_partitions�os�path�isabs�existsrZ	sdiskpartrJ)	�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstype�opts�ntuplerCrCrDrU�srUcCsbzt��\}}}Wnty&YdS0|dk}|r<tj}n|dkrLtj}n|d}t�|||�S)zReturn battery information.Nr����<)rB�sensors_battery�NotImplementedErrorrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)r8ZminsleftZ
power_pluggedZsecsleftrCrCrDra�sra�inetc	Csjg}t�D]Z}zt|��|�}Wnty6Yq
Yq
0|r
|D]"}t|�|g}|�tj|��q@q
|S)z System-wide network connections.)�pids�Process�net_connectionsr	�listrJrZsconn)�kindrK�pidZcons�crCrCrDrf�s

rfc
Cs�t���}i}|D]�}z&t�|�}t�|�}t�|�\}}Wn2tyn}z|jtjkrZ�WYd}~qd}~00t	t
d�r�t
�|�}d�|�}d|v}	t
�
|	||||�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).N�	NicDuplex�,�running)�net_io_counters�keys�
cext_posixZ
net_if_mtuZnet_if_flagsZnet_if_duplex_speed�OSError�errnoZENODEV�hasattrrrk�joinZ	snicstats)
�namesrKr&Zmtu�flagsZduplex�speed�errZoutput_flagsZisuprCrCrD�net_if_statss$






�
rycCst��S)z:The system boot time expressed in seconds since the epoch.)rB�	boot_timerCrCrCrDrz!srzc	Cs\g}t��}|D]F}|\}}}}}|dkr,q|s2qt�||p>d|pDd||�}|�|�q|S)z:Return currently connected users as a list of namedtuples.�~N)rB�usersrZsuserrJ)	r[�rawlistrLr1�tty�hostnameZtstampri�ntrCrCrDr|&sr|cCs`t��}d|vr\ztd���|�dd�Wn.ty>YntyZ|�dd�Yn0|S�Nr)rBrdre�create_time�insertr	r)ZlsrCrCrDrd:srdcCs8zt�|�td}|tjkWSty2YdS0dS)Nr%F)rB�proc_kinfo_oneshot�kinfo_proc_map�SZOMBrq)ri�strCrCrD�	is_zombieMs
r�cst����fdd��}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    cszz�|g|�Ri|��WStyVt|j�rDt|j|j|j��nt|j|j��Yn tytt|j|j��Yn0dSrO)	rr�rir
�_name�_ppidr	rr)�self�args�kwargs��funrCrD�wrapperZs
z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rCr�rD�wrap_exceptionsUsr�c@sheZdZdZgd�Zdd�Zeedd���Zeedd���Z	d	d
�Z
dd�Zed
d��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zed'd(��Zed)d*��Zed+d,��Zed=d.d/��Zed0d1��Zed>d3d4��Zed5d6��Zed7d8��Z ed9d:��Z!ed;d<��Z"d2S)?rez1Wrapper class around underlying C implementation.)�_cacher�r�ricCs||_d|_d|_dSrO)rir�r�)r�rirCrCrD�__init__nszProcess.__init__cCs$t�|j�}t|�tt�ks J�|SrO)rBr�ri�lenr��r�rKrCrCrD�_get_kinfo_procsszProcess._get_kinfo_proccCs$t�|j�}t|�tt�ks J�|SrO)rBZproc_pidtaskinfo_oneshotrir��pidtaskinfo_mapr�rCrCrD�_get_pidtaskinfo{szProcess._get_pidtaskinfocCs|j�|�|j�|�dSrO)r�Zcache_activater��r�rCrCrD�
oneshot_enter�szProcess.oneshot_entercCs|j�|�|j�|�dSrO)r�Zcache_deactivater�r�rCrCrD�oneshot_exit�szProcess.oneshot_exitcCs(|��td}|dur|St�|j�S)Nr&)r�r�rBZ	proc_nameri)r�r&rCrCrDr&�szProcess.namecCst�|j�SrO)rBZproc_exerir�rCrCrD�exe�szProcess.execCst�|j�SrO)rBZproc_cmdlinerir�rCrCrD�cmdline�szProcess.cmdlinecCstt�|j��SrO)rrBZproc_environrir�rCrCrD�environ�szProcess.environcCs|��td|_|jS)Nr)r�r�r�r�rCrCrDr�szProcess.ppidcCst�|j�SrO)rBZproc_cwdrir�rCrCrD�cwd�szProcess.cwdcCs.|��}t�|td|td|td�S)Nrrr�r�rZpuidsr��r�ZrawtuplerCrCrD�uids�s


�zProcess.uidscCs.|��}t�|td|td|td�S)Nr r!r"r�r�rCrCrD�gids�s


�zProcess.gidscCs<|��td}t��}z
||WSty6YdS0dS)Nr#)r�r�rZget_terminal_map�KeyError)r�Ztty_nrZtmaprCrCrD�terminal�s
zProcess.terminalcCs6|��}t|td|td|td|td�S)Nr)r*r+r,)r�r>r�r�rCrCrD�memory_info�s



�zProcess.memory_infocCs"|��}t�|j�}t||f�SrO)r�rBZproc_memory_ussrir?)r�Z	basic_memr@rCrCrD�memory_full_info�szProcess.memory_full_infocCs(|��}t�|td|tddd�S)Nr'r(g)r�rZ	pcputimesr�r�rCrCrDrH�s

�zProcess.cpu_timescCs|��tdS)Nr$)r�r�r�rCrCrDr��szProcess.create_timecCs|��td}t�|d�S)Nr.r)r�r�rZpctxsw)r�ZvolrCrCrD�num_ctx_switches�szProcess.num_ctx_switchescCs|��tdS)Nr-)r�r�r�rCrCrD�num_threads�szProcess.num_threadscCsN|jdkrgSg}t�|j�}|D]&\}}t|�r"t�||�}|�|�q"|Sr�)rirBZproc_open_filesr
rZ	popenfilerJ)r��filesr}rW�fdr^rCrCrD�
open_files�s
zProcess.open_filesrcc	Cs�|tvr(td|d�dd�tD��f��t|\}}t�|j||�}g}|D]2}|\}}}	}
}}t|||	|
||t�}
|�|
�qL|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrC)�repr)�.0�xrCrCrD�
<listcomp>��z+Process.net_connections.<locals>.<listcomp>)	r�
ValueErrorrtrBZproc_net_connectionsrir�TCP_STATUSESrJ)r�rhZfamilies�typesr}rKrLr��fam�type�laddr�raddrr%r�rCrCrDrf�s ���zProcess.net_connectionscCs|jdkrdSt�|j�Sr�)rirBZproc_num_fdsr�rCrCrD�num_fds	s
zProcess.num_fdsNcCst�|j||j�SrO)rZwait_pidrir�)r��timeoutrCrCrD�waitszProcess.waitcCst�|j�SrO)rp�getpriorityrir�rCrCrD�nice_getszProcess.nice_getcCst�|j|�SrO)rp�setpriorityri)r��valuerCrCrD�nice_setszProcess.nice_setcCs|��td}t�|d�S)Nr%�?)r�r��
PROC_STATUSES�get)r��coderCrCrDr%szProcess.statuscCs<t�|j�}g}|D]"\}}}t�|||�}|�|�q|SrO)rBZproc_threadsrirZpthreadrJ)r�r}r[�	thread_id�utimeZstimer^rCrCrD�threads!szProcess.threads)rc)N)#�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�rr�r�r�r�r&r�r�r�rr�r�r�r�r�r�rHr�r�r�r�rfr�r�r�r�r%r�rCrCrCrDreisr









	










re)F)rc)`r�rrr�rV�collectionsrrTrrrrBrrprr	r
rrr
rrrZ_compatrrZ__extra__all__ZgetpagesizeZPAGESIZEZAF_LINKZTCPS_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�ZSIDLZSTATUS_IDLEZSRUNZSTATUS_RUNNINGZSSLEEPZSTATUS_SLEEPINGZSSTOPZSTATUS_STOPPEDr�Z
STATUS_ZOMBIEr��dictr�r�r/r5r>�_fieldsr?rErGrHrIrMrNrPrQ�
disk_usageZdisk_io_countersrUrarnZnet_if_addrsrfryrzr|rdZ
pid_existsr�r�rerCrCrCrD�<module>s������