Your IP : 3.147.70.101


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/psutil/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/psutil/__pycache__/_psaix.cpython-37.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)�PY3�PROCFS_PATH�proc_threads�net_io_counters�proc_io_counters������)�ppid�rss�vms�create_time�nice�num_threads�status�ttynr�pmemr!r"�	scputimes�user�system�idleZiowait�svmem�totalZ	available�percent�used�freecCs4t��\}}}}}t|||dd�}t|||||�S)Nr)�round_)�cextZvirtual_memrr-)r.Zavailr1ZpinnedZinuser/�r4�@/opt/alt/python37/lib64/python3.7/site-packages/psutil/_psaix.py�virtual_memoryjsr6cCs:t��\}}}}||}t||dd�}t�||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.r)r2)r3Zswap_memrr�sswap)r.r1�sin�soutr0r/r4r4r5�swap_memorypsr:cCst��}tdd�t|�D��S)z-Return system-wide CPU times as a named tuplecSsg|]}t|��qSr4)�sum)�.0�xr4r4r5�
<listcomp>�szcpu_times.<locals>.<listcomp>)r3�
per_cpu_timesr)�zip)�retr4r4r5�	cpu_times}srBcCst��}dd�|D�S)z5Return system per-CPU times as a list of named tuplescSsg|]}t|��qSr4)r))r<r=r4r4r5r>�sz!per_cpu_times.<locals>.<listcomp>)r3r?)rAr4r4r5r?�sr?cCs$y
t�d�Stk
rdSXdS)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)�os�sysconf�
ValueErrorr4r4r4r5�cpu_count_logical�s
rGcCsrd}tj|dtjtjd�}|��\}}tr@dd�||fD�\}}|jdkrZtd||f��|����}t	|�ppdS)Nzlsdev -Cc processorT)�shell�stdout�stderrcSsg|]}|�tjj��qSr4)�decode�sysrI�encoding)r<r=r4r4r5r>�sz&cpu_count_physical.<locals>.<listcomp>rz%r command error
%s)
�
subprocess�Popen�PIPE�communicater�
returncode�RuntimeError�strip�
splitlines�len)�cmd�prIrJZ
processorsr4r4r5�cpu_count_physical�s

rYcCs t��\}}}}t�||||�S)z*Return various CPU stats as a named tuple.)r3�	cpu_statsr�	scpustats)�ctx_switches�
interrupts�soft_interrupts�syscallsr4r4r5rZ�srZFc	Cslg}t��}xZ|D]R}|\}}}}|dkr.d}|s>t|�js>qd}}	t�||||||	�}
|�|
�qW|S)zReturn system disk partitions.Znone�N)r3�disk_partitions�
disk_usager.r�	sdiskpart�append)�all�retlist�
partitions�	partition�device�
mountpoint�fstype�opts�maxfile�maxpath�ntupler4r4r5ra�s

ra���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|��qSr4)�repr)r<r=r4r4r5r>�sz#net_connections.<locals>.<listcomp>rpN)�pid)	r�	conn_tmaprF�joinr3�net_connectionsr	�TCP_STATUSESrd)�kind�_pidZcmapZfamilies�types�rawlistrA�item�fd�fam�type_�laddr�raddrr&rr�ntr4r4r5ru�s"

ruc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).)�FullZHalfcSsg|]}|d�qS)rr4)r<r=r4r4r5r>�sz net_if_stats.<locals>.<listcomp>r`rz/usr/bin/entstatz-d)rIrJcSsg|]}|�tjj��qSr4)rKrLrIrM)r<r=r4r4r5r>�sz"Running: (\d+) Mbps.*?(\w+) DuplexNrr)rr
�set�net_if_addrsr3�net_if_statsrNrOrPrQrrR�re�search�int�group�getrr�	snicstats)Z
duplex_map�namesrA�name�isup�mtu�duplex�speedrXrIrJZ	re_resultr4r4r5r��s.


r�cCst��S)z:The system boot time expressed in seconds since the epoch.)r3�	boot_timer4r4r4r5r�sr�cCs`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)r3�usersr�suserrd)rfrzr�r{r*�tty�hostnameZtstampZuser_processrrr�r4r4r5r�s
r�cCsdd�t�t��D�S)z7Returns a list of PIDs currently running on the system.cSsg|]}|��rt|��qSr4)�isdigitr�)r<r=r4r4r5r>-szpids.<locals>.<listcomp>)rD�listdirr
r4r4r4r5�pids+sr�cCstj�tj�t�t|�d��S)z&Check for the existence of a unix pid.Zpsinfo)rD�path�existsrtr
�str)rrr4r4r5�
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�rrr�_namer�_ppidrr)�self�args�kwargs)�funr4r5�wrapper9s
z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�r4)r�r5�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.rrr�r��_procfs_path�_cachecCs||_d|_d|_t�|_dS)N)rrr�r�r
r�)r�rrr4r4r5�__init__OszProcess.__init__cCs|j�|�|j�|�dS)N)�_proc_basic_info�cache_activate�
_proc_cred)r�r4r4r5�
oneshot_enterUszProcess.oneshot_entercCs|j�|�|j�|�dS)N)r��cache_deactivater�)r�r4r4r5�oneshot_exitYszProcess.oneshot_exitcCst�|j|j�S)N)r3Zproc_basic_inforrr�)r�r4r4r5r�]szProcess._proc_basic_infocCst�|j|j�S)N)r3Z	proc_credrrr�)r�r4r4r5r�bszProcess._proc_credcCs$|jdkrdSt�|j|j��d�S)NrZswapper�)rrr3Z	proc_namer��rstrip)r�r4r4r5r�gs
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)Nr`r�PATH�:)�cmdlinerDr��sep�isabs�abspathrt�cwd�isfile�access�X_OK�basename�environ�split)r�r��exer�Zpossible_exer4r4r5r�ns$zProcess.execCst�|j�S)N)r3Z	proc_argsrr)r�r4r4r5r��szProcess.cmdlinecCst�|j�S)N)r3Zproc_environrr)r�r4r4r5r��szProcess.environcCs|��tdS)Nr#)r��
proc_info_map)r�r4r4r5r#�szProcess.create_timecCs|��tdS)Nr%)r�r�)r�r4r4r5r%�szProcess.num_threadscCsZt�|j�}g}x*|D]"\}}}t�|||�}|�|�qW|sVt�d|j|jf�|S)Nz%s/%s)	r3rrrr�pthreadrdrD�statr�)r�rzrfZ	thread_id�utimeZstimeror4r4r5�threads�szProcess.threads�inetcCs,t||jd�}|s(t�d|j|jf�|S)N)rxz%s/%s)rurrrDr�r�)r�rwrAr4r4r5�connections�szProcess.connectionscCst�|j�S)N)�
cext_posix�getpriorityrr)r�r4r4r5�nice_get�szProcess.nice_getcCst�|j|�S)N)r��setpriorityrr)r��valuer4r4r5�nice_set�szProcess.nice_setcCs|��td|_|jS)Nr )r�r�r�)r�r4r4r5r �szProcess.ppidcCs"|��\}}}}}}t�|||�S)N)r�r�puids)r��real�	effective�saved�_r4r4r5�uids�szProcess.uidscCs"|��\}}}}}}t�|||�S)N)r�rr�)r�r�r�r�r�r4r4r5�gids�szProcess.gidscCst�|j|j�}tj|�S)N)r3Zproc_cpu_timesrrr�r�	pcputimes)r�rBr4r4r5rB�szProcess.cpu_timescCsP|��td}|d@d?|d@B}x&t�d�D]}t�|�j|kr0|Sq0WdS)Nr'l��i��z	/dev/**/*)r�r��globrDr��st_rdev)r�Zttydev�devr4r4r5�terminal�szProcess.terminalcCsR|j}yt�d||jf�}|�d�Stk
rLt�d||jf�dSXdS)Nz	%s/%s/cwd�/z%s/%s)r�rD�readlinkrrr�rr�)r�Zprocfs_path�resultr4r4r5r��s
zProcess.cwdcCs2|��}|tdd}|tdd}t||�S)Nr!ir")r�r�r()r�rAr!r"r4r4r5�memory_info�szProcess.memory_infocCs|��td}t�|d�S)Nr&�?)r�r��
PROC_STATUSESr�)r��coder4r4r5r&�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)rIrJcSsg|]}|�tjj��qSr4)rKrLrIrM)r<r=r4r4r5r>�sz&Process.open_files.<locals>.<listcomp>zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rNrOr�rrrPrQr�lowerrr�r��findallrT�
startswithrdr�	popenfiler�)r�rXrIrJZ	procfilesrfr|r�r4r4r5�
open_files�s$
zProcess.open_filescCs(|jdkrdStt�d|j|jf��S)Nrz%s/%s/fd)rrrVrDr�r�)r�r4r4r5�num_fdss
zProcess.num_fdscCstjt�|j��S)N)r�pctxswr3Zproc_num_ctx_switchesrr)r�r4r4r5�num_ctx_switchesszProcess.num_ctx_switchesNcCst�|j||j�S)N)rZwait_pidrrr�)r��timeoutr4r4r5�waitszProcess.waitcCsXyt�|j�\}}}}Wn.tk
rFt|j�s@t|j|j���YnXt�||||�S)N)	r3rrr�OSErrorr�rr�r�pio)r��rcZwc�rb�wbr4r4r5�io_counterss
zProcess.io_counters)r�)N)&�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�rr�r�r�r�r�r�r#r%�HAS_THREADSr�r�r�r�r r�r�rBr�r�r�Zmemory_full_infor&r�r�r�r��HAS_PROC_IO_COUNTERSr�r4r4r4r5r�JsJ
r�)F)rp)er�r�r�rDr�rNrL�collectionsrr`rrrr3rr�rr	r
rrr
rrrr�_compatrrrrZ__extra__all__�hasattrr�ZHAS_NET_IO_COUNTERSr�ZgetpagesizeZ	PAGE_SIZEZAF_LINKZSIDL�STATUS_IDLEZSZOMB�
STATUS_ZOMBIEZSACTIVE�STATUS_RUNNINGZSSWAPZSSTOP�STATUS_STOPPEDr�ZTCPS_ESTABLISHED�CONN_ESTABLISHEDZ
TCPS_SYN_SENT�
CONN_SYN_SENTZ
TCPS_SYN_RCVD�
CONN_SYN_RECVZTCPS_FIN_WAIT_1�CONN_FIN_WAIT1ZTCPS_FIN_WAIT_2�CONN_FIN_WAIT2ZTCPS_TIME_WAIT�CONN_TIME_WAITZTCPS_CLOSED�
CONN_CLOSEZTCPS_CLOSE_WAIT�CONN_CLOSE_WAITZ
TCPS_LAST_ACK�
CONN_LAST_ACKZTCPS_LISTEN�CONN_LISTENZTCPS_CLOSING�CONN_CLOSINGZPSUTIL_CONN_NONE�	CONN_NONErv�dictr�r(Zpfullmemr)r-r6r:rBr?rGrYrZZdisk_io_countersrbrar�rrur�r�r�r�r�r��objectr�r4r4r4r5�<module>s�


	
	

%

?>