HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib64/python3.7/site-packages/psutil/__pycache__/_psaix.cpython-37.opt-1.pyc
B

�=�_{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%d&d'd(d)g�ZNed*d+d,d-d.d/g�ZOd0d1�ZPd2d3�ZQd4d5�ZRd6d7�ZSd8d9�ZTd:d;�ZUd<d=�ZVe
jWZWejXZXdRd?d@�ZYejZZZe"�r�e
j[Z[dSdBdC�Z\dDdE�Z]dFdG�Z^dHdI�Z_dJdK�Z`dLdM�ZadNdO�ZbGdPdQ�dQec�ZddS)TzAIX 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)�round_)�cextZvirtual_memrr+)r,Zavailr/ZpinnedZinuser-�r2�@/opt/alt/python37/lib64/python3.7/site-packages/psutil/_psaix.py�virtual_memoryjsr4cCs:t��\}}}}||}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.r)r0)r1Zswap_memrrZsswap)r,r/ZsinZsoutr.r-r2r2r3�swap_memorypsr5cCst��}tdd�t|�D��S)z-Return system-wide CPU times as a named tuplecSsg|]}t|��qSr2)�sum)�.0�xr2r2r3�
<listcomp>�szcpu_times.<locals>.<listcomp>)r1�
per_cpu_timesr(�zip)�retr2r2r3�	cpu_times}sr=cCst��}dd�|D�S)z5Return system per-CPU times as a list of named tuplescSsg|]}t|��qSr2)r()r7r8r2r2r3r9�sz!per_cpu_times.<locals>.<listcomp>)r1r:)r<r2r2r3r:�sr:cCs$y
t�d�Stk
rdSXdS)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)�os�sysconf�
ValueErrorr2r2r2r3�cpu_count_logical�s
rBcCsrd}tj|dtjtjd�}|��\}}tr@dd�||fD�\}}|jdkrZtd||f��|����}t	|�ppdS)Nzlsdev -Cc processorT)�shell�stdout�stderrcSsg|]}|�tjj��qSr2)�decode�sysrD�encoding)r7r8r2r2r3r9�sz&cpu_count_physical.<locals>.<listcomp>rz%r command error
%s)
�
subprocess�Popen�PIPE�communicater�
returncode�RuntimeError�strip�
splitlines�len)�cmd�prDrEZ
processorsr2r2r3�cpu_count_physical�s

rTcCs t��\}}}}t�||||�S)z*Return various CPU stats as a named tuple.)r1�	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsr2r2r3rU�srUFc	Cslg}t��}xZ|D]R}|\}}}}|dkr.d}|s>t|�js>qd}}	t�||||||	�}
|�|
�qW|S)zReturn system disk partitions.Znone�N)r1�disk_partitions�
disk_usager,rZ	sdiskpart�append)�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpath�ntupler2r2r3rW�s

rW���cCs�tj}||kr.td|d�dd�|D��f��tj|\}}t�|�}g}x`|D]X}|\}}	}
}}}
}|	|krpqP|
|krzqPt||	|
|||
t|dkr�|ndd�}|�|�qPW|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, cSsg|]}t|��qSr2)�repr)r7r8r2r2r3r9�sz#net_connections.<locals>.<listcomp>r^N)�pid)	rZ	conn_tmaprA�joinr1�net_connectionsr	�TCP_STATUSESrY)�kind�_pidZcmapZfamilies�types�rawlistr<�item�fdZfamZtype_ZladdrZraddrr%r`�ntr2r2r3rb�s"

rbcCs�ttd�}tdd�t�D��}i}x�|D]�}t�|�\}}d}d}tjdd|gtjtjd�}|�	�\}	}
t
r�d	d�|	|
fD�\}	}
|jdkr�t�
d
|	�}|dk	r�t|�d��}|�d
�}|�|t�}t�||||�||<q(W|S)z)Get NIC stats (isup, duplex, speed, mtu).)ZFullZHalfcSsg|]}|d�qS)rr2)r7r8r2r2r3r9�sz net_if_stats.<locals>.<listcomp>rVrz/usr/bin/entstatz-d)rDrEcSsg|]}|�tjj��qSr2)rFrGrDrH)r7r8r2r2r3r9�sz"Running: (\d+) Mbps.*?(\w+) DuplexNrr)rr
�set�net_if_addrsr1�net_if_statsrIrJrKrLrrM�re�search�int�group�getrrZ	snicstats)Z
duplex_map�namesr<�nameZisupZmtuZduplexZspeedrSrDrEZ	re_resultr2r2r3rm�s.


rmcCst��S)z:The system boot time expressed in seconds since the epoch.)r1�	boot_timer2r2r2r3rusrucCs`g}t��}d}xJ|D]B}|\}}}}}}	|s0q||kr<d}t�|||||	�}
|�|
�qW|S)z:Return currently connected users as a list of namedtuples.)z:0.0z:0�	localhost)r1�usersrZsuserrY)r[rgrvrhr)ZttyZhostnameZtstampZuser_processr`rjr2r2r3rws
rwcCsdd�t�t��D�S)z7Returns a list of PIDs currently running on the system.cSsg|]}|��rt|��qSr2)�isdigitrp)r7r8r2r2r3r9-szpids.<locals>.<listcomp>)r?�listdirr
r2r2r2r3�pids+srzcCstj�tj�t�t|�d��S)z&Check for the existence of a unix pid.Zpsinfo)r?�path�existsrar
�str)r`r2r2r3�
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	szy�|f|�|�Sttfk
rTt|j�s>t|j|j��nt|j|j|j��Yn"tk
rtt	|j|j��YnXdS)N)
rrr~r`r�_namer�_ppidrr)�self�args�kwargs)�funr2r3�wrapper9s
z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�r2)r�r3�wrap_exceptions5sr�c@sxeZdZdZdddddgZdd�Zd	d
�Zdd�Zee	d
d���Z
ee	dd���Zedd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zer�edd��ZedAd d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zed*d+��Zed,d-��Zed.d/��Zed0d1��Zed2d3��ZeZed4d5��Zd6d7�Z ed8d9��Z!ed:d;��Z"edBd=d>��Z#e$�rted?d@��Z%d<S)C�Processz1Wrapper class around underlying C implementation.r`rr��_procfs_path�_cachecCs||_d|_d|_t�|_dS)N)r`rr�r
r�)r�r`r2r2r3�__init__OszProcess.__init__cCs|j�|�|j�|�dS)N)�_proc_basic_infoZcache_activate�
_proc_cred)r�r2r2r3�
oneshot_enterUszProcess.oneshot_entercCs|j�|�|j�|�dS)N)r�Zcache_deactivater�)r�r2r2r3�oneshot_exitYszProcess.oneshot_exitcCst�|j|j�S)N)r1Zproc_basic_infor`r�)r�r2r2r3r�]szProcess._proc_basic_infocCst�|j|j�S)N)r1Z	proc_credr`r�)r�r2r2r3r�bszProcess._proc_credcCs$|jdkrdSt�|j|j��d�S)NrZswapper�)r`r1Z	proc_namer��rstrip)r�r2r2r3rtgs
zProcess.namecCs�|��}|sdS|d}tjj|kr�tj�|�sJtj�tj�|��|��}tj�|�rttj�|�rtt�	|tj
�rt|Stj�|�}xLtjd�
d�D]8}tj�tj�||��}tj�|�r�t�	|tj
�r�|Sq�WdS)NrVr�PATH�:)�cmdliner?r{�sep�isabs�abspathra�cwd�isfile�access�X_OK�basename�environ�split)r�r��exer{Zpossible_exer2r2r3r�ns$zProcess.execCst�|j�S)N)r1Z	proc_argsr`)r�r2r2r3r��szProcess.cmdlinecCst�|j�S)N)r1Zproc_environr`)r�r2r2r3r��szProcess.environcCs|��tdS)Nr")r��
proc_info_map)r�r2r2r3r"�szProcess.create_timecCs|��tdS)Nr$)r�r�)r�r2r2r3r$�szProcess.num_threadscCsZt�|j�}g}x*|D]"\}}}t�|||�}|�|�qW|sVt�d|j|jf�|S)Nz%s/%s)	r1rr`rZpthreadrYr?�statr�)r�rgr[Z	thread_id�utimeZstimer]r2r2r3�threads�szProcess.threads�inetcCs,t||jd�}|s(t�d|j|jf�|S)N)rez%s/%s)rbr`r?r�r�)r�rdr<r2r2r3�connections�szProcess.connectionscCst�|j�S)N)�
cext_posix�getpriorityr`)r�r2r2r3�nice_get�szProcess.nice_getcCst�|j|�S)N)r��setpriorityr`)r��valuer2r2r3�nice_set�szProcess.nice_setcCs|��td|_|jS)Nr)r�r�r�)r�r2r2r3r�szProcess.ppidcCs"|��\}}}}}}t�|||�S)N)r�r�puids)r��real�	effective�saved�_r2r2r3�uids�szProcess.uidscCs"|��\}}}}}}t�|||�S)N)r�rr�)r�r�r�r�r�r2r2r3�gids�szProcess.gidscCst�|j|j�}tj|�S)N)r1Zproc_cpu_timesr`r�rZ	pcputimes)r�r=r2r2r3r=�szProcess.cpu_timescCsP|��td}|d@d?|d@B}x&t�d�D]}t�|�j|kr0|Sq0WdS)Nr&l��i��z	/dev/**/*)r�r��globr?r��st_rdev)r�ZttydevZdevr2r2r3�terminal�szProcess.terminalcCsR|j}yt�d||jf�}|�d�Stk
rLt�d||jf�dSXdS)Nz	%s/%s/cwd�/z%s/%s)r�r?�readlinkr`r�rr�)r�Zprocfs_path�resultr2r2r3r��s
zProcess.cwdcCs2|��}|tdd}|tdd}t||�S)Nr ir!)r�r�r')r�r<r r!r2r2r3�memory_info�szProcess.memory_infocCs|��td}t�|d�S)Nr%�?)r�r��
PROC_STATUSESrr)r��coder2r2r3r%�szProcess.statuscCs�tjddt|j�gtjtjd�}|��\}}trFdd�||fD�\}}d|��kr`t|j|j	��t
�d|�}g}xR|D]J\}}|��}|�
d�r�|d	d�}|��d
kr�qv|�t�|t|���qvW|S)Nz/usr/bin/procfilesz-n)rDrEcSsg|]}|�tjj��qSr2)rFrGrDrH)r7r8r2r2r3r9�sz&Process.open_files.<locals>.<listcomp>zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rIrJr}r`rKrLr�lowerrrrn�findallrO�
startswithrYrZ	popenfilerp)r�rSrDrEZ	procfilesr[rir{r2r2r3�
open_files�s$
zProcess.open_filescCs(|jdkrdStt�d|j|jf��S)Nrz%s/%s/fd)r`rQr?ryr�)r�r2r2r3�num_fdss
zProcess.num_fdscCstjt�|j��S)N)rZpctxswr1Zproc_num_ctx_switchesr`)r�r2r2r3�num_ctx_switchesszProcess.num_ctx_switchesNcCst�|j||j�S)N)rZwait_pidr`r)r�Ztimeoutr2r2r3�waitszProcess.waitcCsXyt�|j�\}}}}Wn.tk
rFt|j�s@t|j|j���YnXt�||||�S)N)	r1rr`�OSErrorr~rrrZpio)r�ZrcZwc�rb�wbr2r2r3�io_counterss
zProcess.io_counters)r�)N)&�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�rr�r�rtr�r�r�r"r$�HAS_THREADSr�r�r�r�rr�r�r=r�r�r�Zmemory_full_infor%r�r�r�r��HAS_PROC_IO_COUNTERSr�r2r2r2r3r�JsJ
r�)F)r^)er�r�r�r?rnrIrG�collectionsrrVrrrr1rr�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_NONErc�dictr�r'Zpfullmemr(r+r4r5r=r:rBrTrUZdisk_io_countersrXrWrlrrbrmrurwrzr~r��objectr�r2r2r2r3�<module>s�


	
	

%