HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/psutil/__pycache__/_psosx.cpython-310.pyc
o

�N�gVD�@s�dZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
ZddlmZ
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZgZe
��Ze
jZejejej ej!ej"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej0ej1ej2ej3ej4ej5iZ6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@iZAeBdddddddddddd�ZCeBddddddddd�ZDedgd ��ZEed!gd"��ZFed#gd$��ZGed%eGjHd&�ZId'd(�ZJd)d*�ZKd+d,�ZLd-d.�ZMd/d0�ZNd1d2�ZOd3d4�ZPd5d6�ZQe	jRZRejSZSdOd8d9�ZTd:d;�ZUejVZVe
jWZWdPd=d>�ZXd?d@�ZYdAdB�ZZdCdD�Z[dEdF�Z\e	j]Z]dGdH�Z^dIdJ�Z_ej`dKdL��ZaGdMdN�dNeb�ZcdS)QzmacOS platform implementation.�N)�
namedtuple�)�_common)�_psposix)�_psutil_osx)�
_psutil_posix)�AccessDenied)�	conn_tmap)�conn_to_ntuple)�
isfile_strict)�memoize_when_activated)�
NoSuchProcess)�parse_environ_block)�
usage_percent)�
ZombieProcess)�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)�totalZ	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<r9ZspeculativeZavailr8r7�rB�A/opt/saltstack/salt/lib/python3.10/site-packages/psutil/_psosx.py�virtual_memoryps�rDcCs4t��\}}}}}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr@)rAZswap_memrrZsswap)r6r8r9�sinZsoutr7rBrBrC�swap_memory�srFcCst��\}}}}t||||�S)z(Return system CPU times as a namedtuple.)rA�	cpu_timesr/r0rBrBrCrG�srGcCs:g}t��D]}|\}}}}t||||�}|�|�q|S)z(Return system CPU times as a named tuple)rA�
per_cpu_timesr/�append)�retZcpu_tr1r2r3r4�itemrBrBrCrH�srHcC�t��S)z0Return the number of logical CPUs in the system.)rA�cpu_count_logicalrBrBrBrCrM��rMcCrL)z1Return the number of physical CPUs in the system.)rAZcpu_count_physrBrBrBrC�cpu_count_physical�rNrOcCs"t��\}}}}}t�||||�S�N)rA�	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsZtrapsrBrBrCrQ�s
��rQcCst��\}}}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
    )rA�cpu_freqrZscpufreq)�currZmin_Zmax_rBrBrCrR�srRFc	Csvg}t��}|D]0}|\}}}}|dkrd}|s%tj�|�r$tj�|�s%qd}}	t�||||||	�}
|�|
�q|S)z8Return mounted disk partitions as a list of namedtuples.Znone�N)	rA�disk_partitions�os�path�isabs�existsrZ	sdiskpartrI)�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstype�optsZmaxfileZmaxpath�ntuplerBrBrCrU�s�rUcCsbz	t��\}}}Wn
tyYdSw|dk}|rtj}n|dkr&tj}n|d}t�|||�S)zReturn battery information.Nr����<)rA�sensors_battery�NotImplementedErrorrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)r7ZminsleftZ
power_pluggedZsecsleftrBrBrCra�s�ra�inetc	Csfg}t�D]+}z	t|��|�}Wn	tyYqw|r0|D]}t|�|g}|�tj|��qq|S)z System-wide network connections.)�pids�Process�connectionsr
�listrIrZsconn)�kindrJ�pidZcons�crBrBrC�net_connections�s
��rkcCs�t���}i}|D]C}zt�|�}t�|�}t�|�\}}Wnty7}z
|jtjkr-�WYd}~q	d}~wwt	t
d�rBt
�|�}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�hasattrrrlZ	snicstats)�namesrJr&ZmtuZisupZduplexZspeed�errrBrBrC�net_if_statss"


���

rucCrL)z:The system boot time expressed in seconds since the epoch.)rA�	boot_timerBrBrBrCrvrNrvc	Cs\g}t��}|D]#}|\}}}}}|dkrq|sqt�||pd|p"d||�}|�|�q|S)z:Return currently connected users as a list of namedtuples.�~N)rA�usersrZsuserrI)	r[�rawlistrKr1Ztty�hostnameZtstampri�ntrBrBrCrx"srxcCsft��}d|vr1ztd���|�dd�W|Sty!Y|Sty0|�dd�Y|Sw|S�Nr)rArdre�create_time�insertr
r)ZlsrBrBrCrd6s���rdcCs4zt�|�td}|tjkWStyYdSw)Nr%F)rA�proc_kinfo_oneshot�kinfo_proc_map�SZOMB�	Exception)ri�strBrBrC�	is_zombieIs�r�cst����fdd��}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    cs�z�|g|�Ri|��WSty(t|j�r!t|j|j|j��t|j|j��ty5t|j|j��t	j
yEt|j|j|j��wrP)rr�rir�_name�_ppidr
rrrAZZombieProcessError)�self�args�kwargs��funrBrC�wrapperUs
�z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rBr�rC�wrap_exceptionsQsr�ccs��zdVWdSttfyF}z1t|t�s|jtjkrAz|��}Wn	ty+|�w|tjkr:t	|j
|j|j��t
|j
|j���d}~ww)z�There are some poor C APIs which incorrectly raise ESRCH when
    the process is still alive or it's a zombie, or even RuntimeError
    (those who don't set errno). This is here in order to solve:
    https://github.com/giampaolo/psutil/issues/1044
    N)rp�RuntimeError�
isinstancerqZESRCHr%r
r�
STATUS_ZOMBIErrir�r�r)�procrtr%rBrBrC�catch_zombiees ��
��r�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.)rir�r��_cachecCs||_d|_d|_dSrP)rir�r�)r�rirBrBrC�__init__�s
zProcess.__init__cCs$t�|j�}t|�tt�ksJ�|SrP)rArri�lenr��r�rJrBrBrC�_get_kinfo_proc�szProcess._get_kinfo_proccCsLt|��t�|j�}Wd�n1swYt|�tt�ks$J�|SrP)r�rAZproc_pidtaskinfo_oneshotrir��pidtaskinfo_mapr�rBrBrC�_get_pidtaskinfo�s

�zProcess._get_pidtaskinfocC�|j�|�|j�|�dSrP)r�Zcache_activater��r�rBrBrC�
oneshot_enter��zProcess.oneshot_entercCr�rP)r�Zcache_deactivater�r�rBrBrC�oneshot_exit�r�zProcess.oneshot_exitcCs(|��td}|dur|St�|j�S)Nr&)r�r�rAZ	proc_nameri)r�r&rBrBrCr&�szProcess.namecC�8t|��t�|j�Wd�S1swYdSrP)r�rAZproc_exerir�rBrBrC�exe��

$�zProcess.execCr�rP)r�rAZproc_cmdlinerir�rBrBrC�cmdline�r�zProcess.cmdlinecCs<t|��tt�|j��Wd�S1swYdSrP)r�rrAZproc_environrir�rBrBrC�environ�s
$�zProcess.environcCs|��td|_|jS)Nr)r�r�r�r�rBrBrCr�szProcess.ppidcCr�rP)r�rAZproc_cwdrir�rBrBrC�cwd�r�zProcess.cwdcC�.|��}t�|td|td|td�S)Nrrr�r�rZpuidsr��r�ZrawtuplerBrBrC�uids��


�zProcess.uidscCr�)Nr r!r"r�r�rBrBrC�gids�r�zProcess.gidscCs8|��td}t��}z||WStyYdSw)Nr#)r�r�rZget_terminal_map�KeyError)r�Ztty_nrZtmaprBrBrC�terminal�s
�zProcess.terminalcCs6|��}t|td|td|td|td�S)Nr)r*r+r,)r�r=r�r�rBrBrC�memory_info�s



�zProcess.memory_infocCs"|��}t�|j�}t||f�SrP)r�rAZproc_memory_ussrir>)r�Z	basic_memr?rBrBrC�memory_full_info�szProcess.memory_full_infocCs(|��}t�|td|tddd�S)Nr'r(g)r�rZ	pcputimesr�r�rBrBrCrG�s

�zProcess.cpu_timescC�|��tdS)Nr$)r�r�r�rBrBrCr}��zProcess.create_timecC�|��td}t�|d�S)Nr.r)r�r�rZpctxsw)r�ZvolrBrBrC�num_ctx_switches�szProcess.num_ctx_switchescCr�)Nr-)r�r�r�rBrBrC�num_threads�r�zProcess.num_threadscCsv|jdkrgSg}t|��t�|j�}Wd�n1swY|D]\}}t|�r8t�||�}|�|�q%|Sr|)rir�rAZproc_open_filesrrZ	popenfilerI)r��filesryrW�fdr^rBrBrC�
open_filess

�
�zProcess.open_filesrcc	Cs�|tvrtd|d�dd�tD��f��t|\}}t|��t�|j||�}Wd�n1s1wYg}|D]}|\}}}	}
}}t|||	|
||t�}
|�	|
�q:|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrB)�repr)�.0�xrBrBrC�
<listcomp>sz'Process.connections.<locals>.<listcomp>)
r	�
ValueError�joinr�rAZproc_connectionsrir
�TCP_STATUSESrI)r�rhZfamilies�typesryrJrKr�Zfam�type�laddr�raddrr%r{rBrBrCrfs �
��zProcess.connectionscCsF|jdkrdSt|��t�|j�Wd�S1swYdSr|)rir�rAZproc_num_fdsr�rBrBrC�num_fdss



$�zProcess.num_fdsNcCst�|j||j�SrP)rZwait_pidrir�)r��timeoutrBrBrC�wait&szProcess.waitcCr�rP)r�ro�getpriorityrir�rBrBrC�nice_get*r�zProcess.nice_getcCs:t|��t�|j|�Wd�S1swYdSrP)r�ro�setpriorityri)r��valuerBrBrC�nice_set/s
$�zProcess.nice_setcCr�)Nr%�?)r�r��
PROC_STATUSES�get)r��coderBrBrCr%4szProcess.statuscCs<t�|j�}g}|D]\}}}t�|||�}|�|�q
|SrP)rAZproc_threadsrirZpthreadrI)r�ryr[Z	thread_id�utimeZstimer^rBrBrC�threads:szProcess.threads�rcrP)#�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�rr�r�r�r�r&r�r�r�rr�r�r�r�r�r�rGr}r�r�r�rfr�r�r�r�r%r�rBrBrBrCrest









	









re)Fr�)dr��
contextlibrqr�rV�collectionsrrTrrrrArrorr	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�r�r��dictr�r�r/r5r=�_fieldsr>rDrFrGrHrMrOrQrR�
disk_usageZdisk_io_countersrUrarmZnet_if_addrsrkrurvrxrdZ
pid_existsr�r��contextmanagerr��objectrerBrBrBrC�<module>s������