HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/psutil/__pycache__/_psaix.cpython-310.pyc
o

�N�g{H�@s�dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddl	mZ
ddl	mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlmZddlmZddlmZdgZe e
d�Z!e e
d�Z"e e
d�Z#e�$�Z%ej&Z&e
j'e
j(e
j)e
j*e
j+e
j,e
j-e
j,e
j.e
j/iZ0e
j1e
j2e
j3e
j4e
j5e
j6e
j7e
j8e
j9e
j:e
j;e
j<e
j=e
j>e
j?e
j@e
jAe
jBe
jCe
jDe
jEe
jFe
jGe
jHiZIeJdddddddd d!�ZKed"d#d$g�ZLeLZMed%gd&��ZNed'gd(��ZOd)d*�ZPd+d,�ZQd-d.�ZRd/d0�ZSd1d2�ZTd3d4�ZUd5d6�ZVe
jWZWejXZXdKd8d9�ZYejZZZe"�r@e
j[Z[dLd;d<�Z\d=d>�Z]d?d@�Z^dAdB�Z_dCdD�Z`dEdF�ZadGdH�ZbGdIdJ�dJec�ZddS)MzAIX platform implementation.�N)�
namedtuple�)�_common)�_psposix)�_psutil_aix)�
_psutil_posix)�AccessDenied)�conn_to_ntuple)�get_procfs_path)�memoize_when_activated)�NIC_DUPLEX_FULL)�NIC_DUPLEX_HALF)�NIC_DUPLEX_UNKNOWN)�
NoSuchProcess)�
usage_percent)�
ZombieProcess)�FileNotFoundError)�PermissionError)�ProcessLookupError)�PY3ZPROCFS_PATH�proc_threads�net_io_counters�proc_io_counters������)�ppid�rss�vms�create_time�nice�num_threads�status�ttynr�pmemr r!�	scputimes)�user�systemZidleZiowait�svmem)�totalZ	available�percent�used�freecCs4t��\}}}}}t|||dd�}t|||||�S)Nr�Zround_)�cextZvirtual_memrr+)r,Zavailr/ZpinnedZinuser-�r2�A/opt/saltstack/salt/lib/python3.10/site-packages/psutil/_psaix.py�virtual_memoryjsr4cCs:t��\}}}}||}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr0)r1Zswap_memrrZsswap)r,r/�sinZsoutr.r-r2r2r3�swap_memorypsr6cCst��}tdd�t|�D��S)z-Return system-wide CPU times as a named tuplecS�g|]}t|��qSr2)�sum��.0�xr2r2r3�
<listcomp>��zcpu_times.<locals>.<listcomp>)r1�
per_cpu_timesr(�zip��retr2r2r3�	cpu_times}srBcCst��}dd�|D�S)z5Return system per-CPU times as a list of named tuplescSsg|]}t|��qSr2)r(r9r2r2r3r<�r=z!per_cpu_times.<locals>.<listcomp>)r1r>r@r2r2r3r>�sr>cCs"zt�d�WStyYdSw)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)�os�sysconf�
ValueErrorr2r2r2r3�cpu_count_logical�s
�rGcCsrd}tj|dtjtjd�}|��\}}tr dd�||fD�\}}|jdkr-td||f��|����}t	|�p8dS)Nzlsdev -Cc processorT)�shell�stdout�stderrcS�g|]	}|�tjj��qSr2��decode�sysrI�encodingr9r2r2r3r<���z&cpu_count_physical.<locals>.<listcomp>rz%r command error
%s)
�
subprocess�Popen�PIPE�communicater�
returncode�RuntimeError�strip�
splitlines�len)�cmd�prIrJZ
processorsr2r2r3�cpu_count_physical�s�
�
r\cCs t��\}}}}t�||||�S)z*Return various CPU stats as a named tuple.)r1�	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsr2r2r3r]�s�r]Fc	Cshg}t��}|D])}|\}}}}|dkrd}|st|�jsqd}}	t�||||||	�}
|�|
�q|S)zReturn system disk partitions.Znone�N)r1�disk_partitions�
disk_usager,rZ	sdiskpart�append)�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstype�optsZmaxfileZmaxpath�ntupler2r2r3r_�s
�r_���cCs�tj}||vrtd|d�dd�|D��f��tj|\}}t�|�}g}|D],}|\}}	}
}}}
}|	|vr7q'|
|vr<q't||	|
|||
t|dkrJ|ndd�}|�|�q'|S)z�Return socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    z+invalid %r kind argument; choose between %sz, cSr7r2)�reprr9r2r2r3r<�r=z#net_connections.<locals>.<listcomp>rgN��pid)	rZ	conn_tmaprF�joinr1�net_connectionsr	�TCP_STATUSESra)�kind�_pidZcmapZfamilies�types�rawlistrA�item�fdZfamZtype_�laddr�raddrr%rj�ntr2r2r3rl�s&�
�rlcCs�ttd�}tdd�t�D��}i}|D]X}t�|�\}}d}d}tjdd|gtjtjd�}|�	�\}	}
t
r@d	d�|	|
fD�\}	}
|jdkr[t�
d
|	�}|dur[t|�d��}|�d
�}|�|t�}t�||||�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).)�FullZHalfcSsg|]}|d�qS)rr2r9r2r2r3r<�r=z net_if_stats.<locals>.<listcomp>r^rz/usr/bin/entstatz-d�rIrJcSrKr2rLr9r2r2r3r<�rPz"Running: (\d+) Mbps.*?(\w+) DuplexNrr)rr
�set�net_if_addrsr1�net_if_statsrQrRrSrTrrU�re�search�int�group�getrrZ	snicstats)Z
duplex_map�namesrA�nameZisupZmtuZduplexZspeedr[rIrJZ	re_resultr2r2r3r{�s6��
�
�
r{cCst��S)z:The system boot time expressed in seconds since the epoch.)r1�	boot_timer2r2r2r3r�sr�cCs\g}t��}d}|D]!}|\}}}}}}	|sq
||vrd}t�|||||	�}
|�|
�q
|S)z:Return currently connected users as a list of namedtuples.)z:0.0z:0�	localhost)r1�usersrZsuserra)rcrqr�rrr)Ztty�hostnameZtstampZuser_processrjrvr2r2r3r�sr�cCsdd�t�t��D�S)z7Returns a list of PIDs currently running on the system.cSsg|]
}|��rt|��qSr2)�isdigitr~r9r2r2r3r<-szpids.<locals>.<listcomp>)rD�listdirr
r2r2r2r3�pids+sr�cCstj�tj�t�t|�d��S)z&Check for the existence of a unix pid.Zpsinfo)rD�path�existsrkr
�strrir2r2r3�
pid_exists0sr�cst����fdd��}|S)z�Call callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c	spz�|g|�Ri|��WSttfy*t|j�s!t|j|j��t|j|j|j��ty7t	|j|j��w�N)
rrr�rjr�_namer�_ppidrr)�self�args�kwargs��funr2r3�wrapper9s
�z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�r2r�r3�wrap_exceptions5s
r�c@steZdZdZgd�Zdd�Zdd�Zdd�Zee	d	d
���Z
ee	dd���Zed
d��Zedd��Z
edd��Zedd��Zedd��Zedd��ZerRedd��Zed=dd��Zedd��Zed d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zed*d+��Zed,d-��Zed.d/��ZeZed0d1��Zd2d3�Z ed4d5��Z!ed6d7��Z"ed>d9d:��Z#e$r�ed;d<��Z%d8Sd8S)?�Processz1Wrapper class around underlying C implementation.)rjr�r��_procfs_path�_cachecCs||_d|_d|_t�|_dSr�)rjr�r�r
r�)r�rjr2r2r3�__init__OszProcess.__init__cC�|j�|�|j�|�dSr�)�_proc_basic_infoZcache_activate�
_proc_cred�r�r2r2r3�
oneshot_enterU�zProcess.oneshot_entercCr�r�)r�Zcache_deactivater�r�r2r2r3�oneshot_exitYr�zProcess.oneshot_exitcC�t�|j|j�Sr�)r1Zproc_basic_inforjr�r�r2r2r3r�]�zProcess._proc_basic_infocCr�r�)r1Z	proc_credrjr�r�r2r2r3r�br�zProcess._proc_credcCs$|jdkrdSt�|j|j��d�S)NrZswapper�)rjr1Z	proc_namer��rstripr�r2r2r3r�gs
zProcess.namecCs�|��}|sdS|d}tjj|vr@tj�|�s%tj�tj�|��|��}tj�|�r:tj�|�r:t�	|tj
�r:|Stj�|�}tjd�
d�D]}tj�tj�||��}tj�|�rft�	|tj
�rf|SqHdS)Nr^r�PATH�:)�cmdlinerDr��sep�isabs�abspathrk�cwd�isfile�access�X_OK�basename�environ�split)r�r��exer�Zpossible_exer2r2r3r�ns,
����zProcess.execC�t�|j�Sr�)r1Z	proc_argsrjr�r2r2r3r���zProcess.cmdlinecCr�r�)r1Zproc_environrjr�r2r2r3r��r�zProcess.environcC�|��tdS)Nr"�r��
proc_info_mapr�r2r2r3r"��zProcess.create_timecCr�)Nr$r�r�r2r2r3r$�r�zProcess.num_threadscCsVt�|j�}g}|D]\}}}t�|||�}|�|�q
|s)t�d|j|jf�|S)N�%s/%s)	r1rrjrZpthreadrarD�statr�)r�rqrcZ	thread_id�utimeZstimerfr2r2r3�threads�szProcess.threads�inetcCs,t||jd�}|st�d|j|jf�|S)N)ror�)rlrjrDr�r�)r�rnrAr2r2r3�connections�szProcess.connectionscCr�r�)�
cext_posix�getpriorityrjr�r2r2r3�nice_get�r�zProcess.nice_getcCst�|j|�Sr�)r��setpriorityrj)r��valuer2r2r3�nice_set�szProcess.nice_setcCs|��td|_|jS)Nr)r�r�r�r�r2r2r3r�szProcess.ppidcCs"|��\}}}}}}t�|||�Sr��r�rZpuids)r��real�	effective�saved�_r2r2r3�uids��zProcess.uidscCs"|��\}}}}}}t�|||�Sr�r�)r�r�r�r�r�r2r2r3�gids�r�zProcess.gidscCst�|j|j�}tj|�Sr�)r1Zproc_cpu_timesrjr�rZ	pcputimes)r�rBr2r2r3rB�s
zProcess.cpu_timescCsP|��td}|d@d?|d@B}t�d�D]}t�|�j|kr%|SqdS)Nr&l��i��z	/dev/**/*)r�r��globrDr��st_rdev)r�Zttydev�devr2r2r3�terminal�s�zProcess.terminalcCsP|j}zt�d||jf�}|�d�WSty't�d||jf�YdSw)Nz	%s/%s/cwd�/r�)r�rD�readlinkrjr�rr�)r�Zprocfs_path�resultr2r2r3r��s�zProcess.cwdcCs2|��}|tdd}|tdd}t||�S)Nr ir!)r�r�r')r�rAr r!r2r2r3�memory_info�s
zProcess.memory_infocCs|��td}t�|d�S)Nr%�?)r�r��
PROC_STATUSESr�)r��coder2r2r3r%�szProcess.statuscCs�tjddt|j�gtjtjd�}|��\}}tr#dd�||fD�\}}d|��vr0t|j|j	��t
�d|�}g}|D]%\}}|��}|�
d�rM|d	d�}|��d
krTq:|�t�|t|���q:|S)Nz/usr/bin/procfilesz-nrxcSrKr2rLr9r2r2r3r<�rPz&Process.open_files.<locals>.<listcomp>zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rQrRr�rjrSrTr�lowerrr�r|�findallrW�
startswithrarZ	popenfiler~)r�r[rIrJZ	procfilesrcrsr�r2r2r3�
open_files�s(�
�
zProcess.open_filescCs(|jdkrdStt�d|j|jf��S)Nrz%s/%s/fd)rjrYrDr�r�r�r2r2r3�num_fdss
zProcess.num_fdscCstjt�|j��Sr�)rZpctxswr1Zproc_num_ctx_switchesrjr�r2r2r3�num_ctx_switchess
�zProcess.num_ctx_switchesNcCst�|j||j�Sr�)rZwait_pidrjr�)r��timeoutr2r2r3�waitszProcess.waitcCsRzt�|j�\}}}}Wnty t|j�st|j|j���wt�||||�Sr�)	r1rrj�OSErrorr�rr�rZpio)r��rcZwc�rb�wbr2r2r3�io_counterss
�zProcess.io_counters)r�r�)&�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�rr�r�r�r�r�r�r"r$�HAS_THREADSr�r�r�r�rr�r�rBr�r�r�Zmemory_full_infor%r�r�r�r��HAS_PROC_IO_COUNTERSr�r2r2r2r3r�Jsz















	



�r�)F)rg)er�r�r�rDr|rQrN�collectionsrr^rrrr1rr�rr	r
rrr
rrrrZ_compatrrrrZ__extra__all__�hasattrr�ZHAS_NET_IO_COUNTERSr�ZgetpagesizeZ	PAGE_SIZEZAF_LINKZSIDLZSTATUS_IDLEZSZOMBZ
STATUS_ZOMBIEZSACTIVEZSTATUS_RUNNINGZSSWAPZSSTOPZSTATUS_STOPPEDr�ZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZ
TCPS_SYN_SENTZ
CONN_SYN_SENTZ
TCPS_SYN_RCVDZ
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_NONErm�dictr�r'Zpfullmemr(r+r4r6rBr>rGr\r]Zdisk_io_countersr`r_rzrrlr{r�r�r�r�r��objectr�r2r2r2r3�<module>s�


�	��
	

%