HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/psutil/__pycache__/_psaix.cpython-310.pyc
o

;j�D�@sbdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z
ddlmZddlmZ
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZdgZee
d�Zee
d�Zee
d�Ze
��Ze
jZe
j ej!e
j"ej#e
j$ej%e
j&ej%e
j'ej(iZ)e
j*ej+e
j,ej-e
j.ej/e
j0ej1e
j2ej3e
j4ej5e
j6ej7e
j8ej9e
j:ej;e
j<ej=e
j>ej?e
j@ejAiZBeCddddddddd�ZDdd�ZEdd �ZFd!d"�ZGd#d$�ZHd%d&�ZId'd(�ZJd)d*�ZKe
jLZLejMZMd?d,d-�ZNe
jOZOe�re
jPZPd@d/d0�ZQd1d2�ZRd3d4�ZSd5d6�ZTd7d8�ZUd9d:�ZVd;d<�ZWGd=d>�d>�ZXdS)AzAIX platform implementation.�N�)�_common)�_ntuples)�_psposix)�_psutil_aix)�NIC_DUPLEX_FULL)�NIC_DUPLEX_HALF)�NIC_DUPLEX_UNKNOWN)�AccessDenied)�
NoSuchProcess)�
ZombieProcess)�conn_to_ntuple)�get_procfs_path)�memoize_when_activated)�
usage_percentZPROCFS_PATH�proc_threads�net_io_counters�proc_io_counters������)�ppid�rss�vms�create_time�nice�num_threads�status�ttynrcCs6t��\}}}}}t|||dd�}t�|||||�S)Nr�Zround_)�cextZvirtual_memr�ntpZsvmem)�totalZavail�freeZ_pinnedZinuse�percent�r(�A/opt/saltstack/salt/lib/python3.10/site-packages/psutil/_psaix.py�virtual_memoryVsr*cCs:t��\}}}}||}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr")r#Zswap_memrr$Zsswap)r%r&�sinZsout�usedr'r(r(r)�swap_memory\sr-cCs t��}tjdd�t|�D��S)z.Return system-wide CPU times as a named tuple.cSsg|]}t|��qSr()�sum��.0�xr(r(r)�
<listcomp>l�zcpu_times.<locals>.<listcomp>)r#�
per_cpu_timesr$�	scputimes�zip��retr(r(r)�	cpu_timesisr9cCst��}dd�|D�S)z6Return system per-CPU times as a list of named tuples.cSsg|]}tj|��qSr()r$r5r/r(r(r)r2rsz!per_cpu_times.<locals>.<listcomp>)r#r4r7r(r(r)r4osr4cCs"zt�d�WStyYdSw)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)�os�sysconf�
ValueErrorr(r(r(r)�cpu_count_logicalus
�r>cCsvgd�}tj|tjtjd�}|��\}}dd�||fD�\}}|jdkr/|�d|��}t|��|����}t|�p:dS)N)Zlsdevz-Cc�	processor��stdout�stderrcs��|]
}|�tjj�VqdS�N��decode�sysrA�encodingr/r(r(r)�	<genexpr>�s�z"cpu_count_cores.<locals>.<genexpr>rz command error
)	�
subprocess�Popen�PIPE�communicate�
returncode�RuntimeError�strip�
splitlines�len)�cmd�prArB�msgZ
processorsr(r(r)�cpu_count_cores~s
rVcCs t��\}}}}t�||||�S)z*Return various CPU stats as a named tuple.)r#�	cpu_statsr$Z	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsr(r(r)rW�srWFc	Cs\g}t��}|D]#}|\}}}}|dkrd}|st|�jsqt�||||�}|�|�q|S)zReturn system disk partitions.�none�)r#�disk_partitions�
disk_usager%r$Z	sdiskpart�append)	�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstype�opts�ntupler(r(r)rZ�s
rZ���cCs~tj|\}}t�|�}g}|D],}|\}}}	}
}}}
||vr q|	|vr%qt|||	|
||t|dkr3|
ndd�}|�|�q|S)z�Return socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    rbN��pid)rZ	conn_tmapr#�net_connectionsr
�TCP_STATUSESr\)�kind�_pidZfamilies�types�rawlistr8�item�fdZfam�type_�laddr�raddrr rd�ntr(r(r)re�s*
�
recCs�ttd�}dd�t�D�}i}|D]c}t�|�}t�|�}d}d}tjdd|gtjtjd�}|�	�\}	}
d	d
�|	|
fD�\}	}
|j
dkrZt�d|	�}|durZt
|�d
��}|�d�}d�|�}d|v}
|�|t�}t�|
||||�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).)�FullZHalfcSsh|]}|d�qS)rr(r/r(r(r)�	<setcomp>�r3znet_if_stats.<locals>.<setcomp>rYrz/usr/bin/entstatz-dr@csrCrDrEr/r(r(r)rI���
�znet_if_stats.<locals>.<genexpr>z"Running: (\d+) Mbps.*?(\w+) DuplexNrr�,Zrunning)rr�net_if_addrsr#Z
net_if_mtuZnet_if_flagsrJrKrLrMrN�re�search�int�group�join�getr	r$Z	snicstats)Z
duplex_map�namesr8�nameZmtu�flagsZduplexZspeedrTrArBZ	re_resultZoutput_flagsZisupr(r(r)�net_if_stats�s:


�
�
�

rcCst��S)z:The system boot time expressed in seconds since the epoch.)r#�	boot_timer(r(r(r)r��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)r#�usersr$Zsuserr\)r^rjr�rk�userZtty�hostnameZtstampZuser_processrdrpr(r(r)r�sr�cCsdd�t�t��D�S)z7Returns a list of PIDs currently running on the system.cSsg|]
}|��rt|��qSr()�isdigitrxr/r(r(r)r2szpids.<locals>.<listcomp>)r;�listdirrr(r(r(r)�pidssr�cCstj�tj�t�t|�d��S)z&Check for the existence of a unix pid.Zpsinfo)r;�path�existsrzr�strrcr(r(r)�
pid_exists!sr�cst����fdd��}|S)z�Call callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c
s�|j|j|j}}}z�|g|�Ri|��WSttfy6}zt|�s+t||�|�t|||�|�d}~wtyG}zt	||�|�d}~wwrD)
rd�_ppid�_name�FileNotFoundError�ProcessLookupErrorr�rr�PermissionErrorr
)�self�args�kwargsrdrr}�err��funr(r)�wrapper+s���z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�r(r�r)�wrap_exceptions&sr�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.)�_cacher�r��_procfs_pathrdcCs||_d|_d|_t�|_dSrD)rdr�r�rr�)r�rdr(r(r)�__init__BszProcess.__init__cC�|j�|�|j�|�dSrD)�_proc_basic_infoZcache_activate�
_proc_cred�r�r(r(r)�
oneshot_enterH�zProcess.oneshot_entercCr�rD)r�Zcache_deactivater�r�r(r(r)�oneshot_exitLr�zProcess.oneshot_exitcC�t�|j|j�SrD)r#Zproc_basic_infordr�r�r(r(r)r�P�zProcess._proc_basic_infocCr�rD)r#Z	proc_credrdr�r�r(r(r)r�Ur�zProcess._proc_credcCs$|jdkrdSt�|j|j��d�S)NrZswapper�)rdr#Z	proc_namer��rstripr�r(r(r)r}Zs
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)NrYr�PATH�:)�cmdliner;r��sep�isabs�abspathrz�cwd�isfile�access�X_OK�basename�environ�split)r�r��exer�Zpossible_exer(r(r)r�as.
�
����zProcess.execC�t�|j�SrD)r#Z	proc_argsrdr�r(r(r)r��zProcess.cmdlinecCr�rD)r#Zproc_environrdr�r(r(r)r��r�zProcess.environcC�|��tdS)Nr�r��
proc_info_mapr�r(r(r)r��zProcess.create_timecCr�)Nrr�r�r(r(r)r�r�zProcess.num_threadscCsXt�|j�}g}|D]\}}}t�|||�}|�|�q
|s*t�|j�d|j���|S)N�/)	r#rrdr$Zpthreadr\r;�statr�)r�rjr^Z	thread_id�utimeZstimerar(r(r)�threads�szProcess.threads�inetcCs.t||jd�}|st�|j�d|j���|S)N)rhr�)rerdr;r�r�)r�rgr8r(r(r)re�szProcess.net_connectionscCr�rD)r#Zproc_priority_getrdr�r(r(r)�nice_get�r�zProcess.nice_getcC�t�|j|�SrD)r#Zproc_priority_setrd)r��valuer(r(r)�nice_set��zProcess.nice_setcCs|��td|_|jS)Nr)r�r�r�r�r(r(r)r�szProcess.ppidcCs"|��\}}}}}}t�|||�SrD�r�r$Zpuids)r��real�	effective�saved�_r(r(r)�uids��zProcess.uidscCs"|��\}}}}}}t�|||�SrDr�)r�r�r�r�r�r(r(r)�gids�r�zProcess.gidscCst�|j|j�}tj|�SrD)r#Zproc_cpu_timesrdr�r$Z	pcputimes)r��tr(r(r)r9�s
zProcess.cpu_timescCsP|��td}|d@d?|d@B}t�d�D]}t�|�j|kr%|SqdS)Nr!l��i��z	/dev/**/*)r�r��globr;r��st_rdev)r�Zttydev�devr(r(r)�terminal�s�zProcess.terminalcCsV|j}zt�|�d|j�d��}|�d�WSty*t�|�d|j���YdSw)Nr�z/cwdrY)r�r;�readlinkrdr�r�r�)r�Zprocfs_path�resultr(r(r)r��s�zProcess.cwdcCs4|��}|tdd}|tdd}t�||�S)Nrir)r�r�r$Zpmem)r�r8rrr(r(r)�memory_info�szProcess.memory_infocCs|��td}t�|d�S)Nr �?)r�r��
PROC_STATUSESr{)r��coder(r(r)r �szProcess.statuscCs�tjddt|j�gtjtjd�}|��\}}dd�||fD�\}}d|��vr.t|j|j��t	�
d|�}g}|D]%\}}|��}|�d�rK|d	d�}|��d
krRq8|�
t�|t|���q8|S)Nz/usr/bin/procfilesz-nr@csrCrDrEr/r(r(r)rI�rsz%Process.open_files.<locals>.<genexpr>zno such processz(\d+): S_IFREG.*name:(.*)\nz//rzcannot be retrieved)rJrKr�rdrLrM�lowerrr�rv�findallrP�
startswithr\r$Z	popenfilerx)r�rTrArBZ	procfilesr^rlr�r(r(r)�
open_files�s*�
�
zProcess.open_filescCs,|jdkrdStt�|j�d|j�d���S)Nrr�z/fd)rdrRr;r�r�r�r(r(r)�num_fdss
zProcess.num_fdscCstjt�|j��SrD)r$Zpctxswr#Zproc_num_ctx_switchesrdr�r(r(r)�num_ctx_switchesszProcess.num_ctx_switchesNcCr�rD)rZwait_pidrd)r��timeoutr(r(r)�waitr�zProcess.waitc
Cs^zt�|j�\}}}}Wnty&}zt|j�s!t|j|j�|��d}~wwt�||||�SrD)	r#rrd�OSErrorr�rr�r$Zpio)r��rcZwc�rb�wbr�r(r(r)�io_counterss
��zProcess.io_counters)r�rD)&�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�rr�r�r}r�r�r�rr�HAS_THREADSr�rer�r�rr�r�r9r�r�r�Zmemory_full_infor r�r�r�r��HAS_PROC_IO_COUNTERSr�r(r(r(r)r�=sz















	



�r�)F)rb)Yr�r�r�r;rvrJrGrYrrr$rrr#rrr	r
rrr
rrrZ__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_NONErf�dictr�r*r-r9r4r>rVrWZdisk_io_countersr[rZrurrerr�r�r�r�r�r�r(r(r(r)�<module>s�


�	��
	

+