Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/psutil/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/psutil/__pycache__/_psaix.cpython-35.pyc



Cs[�K�@sAdZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZdgZ e!ed�Z"ej#d�Z$ej%Z%ej&ej'ej(ej)ej*ej+ej,ej+ej-ej.iZ/ej0ej1ej2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGiZHeIdddddddddd d!d"d#d$d%d&�ZJed'ddg�ZKeKZLed(d)d*d+d,g�ZMed-d.d/d0d1d2g�ZNed3d4dd5d6g�ZOed7d8d9jPeOjQ��ZRd:d;�ZSd<d=�ZTd>d?�ZUd@dA�ZVdBdC�ZWdDdE�ZXdFdG�ZYdHdI�ZZej[Z[e
j\Z\dJdKdL�Z]ej^Z^ej_Z_d]dMdN�Z`dOdP�ZadQdR�ZbdSdT�ZcdUdV�ZddWdX�ZedYdZ�ZfGd[d\�d\eg�ZhdS)^zAIX platform implementation.�N)�
namedtuple)�AF_INET�)�_common)�_psposix)�_psutil_aix)�
_psutil_posix)�AF_INET6)�memoize_when_activated)�NIC_DUPLEX_FULL)�NIC_DUPLEX_HALF)�NIC_DUPLEX_UNKNOWN)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�PY3)�AccessDenied)�
NoSuchProcess)�
ZombieProcess�PROCFS_PATH�proc_threads�SC_PAGE_SIZE�ppid�rss�vms��create_time��nice��num_threads��status��ttynr��pmem�	scputimes�user�system�idleZiowait�svmem�total�	available�percent�used�free�
pmmap_grouped�pathZanon�locked�	pmmap_extzaddr perms � cCstjdjS)z+Return updated psutil.PROCFS_PATH constant.�psutil)�sys�modulesr�r9r9�@/opt/alt/python35/lib64/python3.5/site-packages/psutil/_psaix.py�get_procfs_pathlsr;cCsJtj�\}}}}}t|||dd�}t|||||�S)N�round_r)�cextZvirtual_memrr+)r,Zavailr0ZpinnedZinuser.r9r9r:�virtual_memoryvsr>cCsStj�\}}}}||}t||dd�}tj||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.r<r)r=Zswap_memrr�sswap)r,r0�sin�soutr/r.r9r9r:�swap_memory|s
rBcCs)tj�}tdd�t|�D��S)z-Return system-wide CPU times as a named tuplecSsg|]}t|��qSr9)�sum)�.0�xr9r9r:�
<listcomp>�s	zcpu_times.<locals>.<listcomp>)r=�
per_cpu_timesr'�zip)�retr9r9r:�	cpu_times�srJcCstj�}dd�|D�S)z5Return system per-CPU times as a list of named tuplescSsg|]}t|��qSr9)r')rDrEr9r9r:rF�s	z!per_cpu_times.<locals>.<listcomp>)r=rG)rIr9r9r:rG�srGcCs.ytjd�SWntk
r)dSYnXdS)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)�os�sysconf�
ValueErrorr9r9r9r:�cpu_count_logical�s
rOcCs�d}tj|dddtjdtj�}|j�\}}trddd�||fD�\}}|jdkr�td	||f��|j�j�}t	|�p�dS)
Nzlsdev -Cc processor�shellT�stdout�stderrcSs%g|]}|jtjj��qSr9)�decoder7rQ�encoding)rDrEr9r9r:rF�s	z&cpu_count_physical.<locals>.<listcomp>rz%r command error
%s)
�
subprocess�Popen�PIPE�communicater�
returncode�RuntimeError�strip�
splitlines�len)�cmd�prQrRZ
processorsr9r9r:�cpu_count_physical�s	r`cCs.tj�\}}}}tj||||�S)z*Return various CPU stats as a named tuple.)r=�	cpu_statsr�	scpustats)�ctx_switches�
interrupts�soft_interrupts�syscallsr9r9r:ra�sraFc	Cs�g}tj�}xo|D]g}|\}}}}|dkrCd}|s[t|�js[qtj||||�}|j|�qW|S)zReturn system disk partitions.Znone�)r=�disk_partitions�
disk_usager,r�	sdiskpart�append)	�all�retlistZ
partitions�	partition�device�
mountpoint�fstype�opts�ntupler9r9r:rh�s
rhc	Csytj}||krAtd|djdd�|D��f��tj|\}}tj|�}t�}x|D]�}|\}}	}
}}}
}|	|kr�qs|
|kr�qst|
}
|	tt	fkr�|r�tj
|�}|r�tj
|�}t|	�}	t|
�}
|dkr@tj
||	|
|||
|�}ntj||	|
|||
�}|j|�qsWt|�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|��qSr9)�repr)rDrEr9r9r:rF�s	z#net_connections.<locals>.<listcomp>r���)r�	conn_tmaprN�joinr=�net_connections�set�TCP_STATUSESrr	�addrrr�sconn�pconn�add�list)�kind�_pidZcmapZfamilies�types�rawlistrI�item�fdZfam�type_�laddr�raddrr"�pid�ntr9r9r:rx�s4	&	

$rxcCsJdtdti}tdd�t�D��}i}x|D]}tj|�\}}d}d}tjdd|gd	tjd
tj�}|j	�\}	}
t
r�dd�|	|
fD�\}	}
|jdkrtj
d|	�}|d
k	rt|jd��}|jd�}|j|t�}tj||||�||<q;W|S)z)Get NIC stats (isup, duplex, speed, mtu).ZFullZHalfcSsg|]}|d�qS)rr9)rDrEr9r9r:rF�s	z net_if_stats.<locals>.<listcomp>rgrz/usr/bin/entstatz-drQrRcSs%g|]}|jtjj��qSr9)rSr7rQrT)rDrEr9r9r:rF
s	z"Running: (\d+) Mbps.*?(\w+) DuplexNrr)rrry�net_if_addrsr=�net_if_statsrUrVrWrXrrY�re�search�int�group�getr
r�	snicstats)Z
duplex_map�namesrI�name�isup�mtu�duplex�speedr_rQrRZ	re_resultr9r9r:r��s.
	 r�cCs
tj�S)z:The system boot time expressed in seconds since the epoch.)r=�	boot_timer9r9r9r:r� sr�cCs�g}tj�}d}xi|D]a}|\}}}}}}	|sFq||krXd}tj|||||	�}
|j|
�qW|S)z:Return currently connected users as a list of namedtuples.�:0.0�:0�	localhost)r�r�)r=�usersr�suserrk)rmr�r�r�r(�tty�hostnameZtstampZuser_processr�r�r9r9r:r�%s
r�cCsdd�tjt��D�S)z7Returns a list of PIDs currently running on the system.cSs(g|]}|j�rt|��qSr9)�isdigitr�)rDrEr9r9r:rF?s	zpids.<locals>.<listcomp>)rL�listdirr;r9r9r9r:�pids=sr�cCs+tjjtjjt�t|�d��S)z&Check for the existence of a unix pid.Zpsinfo)rLr2�existsrwr;�str)r�r9r9r:�
pid_existsBsr�cs�fdd�}|S)z�Call callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    cs�y�|||�SWn�tk
r�}z�tdksMtdksMtdkrP�|jtjtjfkr�t|j�s�t|j|j	��nt|j|j	|j
��|jtjtjfkr�t|j|j	���WYdd}~XnXdS)N)
�EnvironmentErrorrrr�errno�ENOENTZESRCHr�r��_name�_ppid�EPERM�EACCES)�self�args�kwargs�err)�funr9r:�wrapperLsz wrap_exceptions.<locals>.wrapperr9)r�r�r9)r�r:�wrap_exceptionsGsr�c@seZdZdZddddgZdd�Zdd	�Zd
d�Zedd
��Z	edd��Z
edd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zer�edd��Zeddd ��Zed!d"��Zed#d$��Zed%d&��Zed'd(��Zed)d*��Zed+d,��Zed-d.��Zed/d0��Zed1d2��ZeZed3d4��Zd5d6�Z ed7d8��Z!ed9d:��Z"ed;d<d=��Z#ed>d?��Z$d;S)@�Processz1Wrapper class around underlying C implementation.r�r�r��_procfs_pathcCs+||_d|_d|_t�|_dS)N)r�r�r�r;r�)r�r�r9r9r:�__init__gs			zProcess.__init__cCs+|jj�|jj�|jj�dS)N)�_proc_name_and_args�cache_activate�_proc_basic_info�
_proc_cred)r�r9r9r:�
oneshot_enterms

zProcess.oneshot_entercCs+|jj�|jj�|jj�dS)N)r��cache_deactivater�r�)r�r9r9r:�oneshot_exitrs

zProcess.oneshot_exitcCstj|j|j�S)N)r=Zproc_name_and_argsr�r�)r�r9r9r:r�wszProcess._proc_name_and_argscCstj|j|j�S)N)r=Zproc_basic_infor�r�)r�r9r9r:r�{szProcess._proc_basic_infocCstj|j|j�S)N)r=Z	proc_credr�r�)r�r9r9r:r�szProcess._proc_credcCs*|jdkrdS|j�djd�S)NrZswapper�)r�r��rstrip)r�r9r9r:r��szProcess.namecCs|j�d}tjj|kr�tjj|�s[tjjtjj|j�|��}tjj|�r�tjj|�r�tj	|tj
�r�|Stjj|�}xjtjdj
d�D]R}tjjtjj||��}tjj|�r�tj	|tj
�r�|Sq�WdS)Nr�PATH�:rg)�cmdlinerLr2�sep�isabs�abspathrw�cwd�isfile�access�X_OK�basename�environ�split)r��exer2Zpossible_exer9r9r:r��s'!zProcess.execCs|j�djd�S)Nrr5)r�r�)r�r9r9r:r��szProcess.cmdlinecCs|j�tdS)Nr)r��
proc_info_map)r�r9r9r:r�szProcess.create_timecCs|j�tdS)Nr )r�r�)r�r9r9r:r �szProcess.num_threadscCs{tj|j�}g}x9|D]1\}}}tj|||�}|j|�qW|swtjd|j|jf�|S)Nz%s/%s)	r=rr�r�pthreadrkrL�statr�)r�r�rmZ	thread_id�utimeZstimersr9r9r:�threads�szProcess.threads�inetcCs<t|d|j�}|s8tjd|j|jf�|S)Nr�z%s/%s)rxr�rLr�r�)r�r�rIr9r9r:�connections�szProcess.connectionscCstj|j�S)N)�
cext_posix�getpriorityr�)r�r9r9r:�nice_get�szProcess.nice_getcCstj|j|�S)N)r��setpriorityr�)r��valuer9r9r:�nice_set�szProcess.nice_setcCs|j�td|_|jS)Nr)r�r�r�)r�r9r9r:r�szProcess.ppidcCs1|j�\}}}}}}tj|||�S)N)r�r�puids)r��real�	effective�saved�_r9r9r:�uids�szProcess.uidscCs1|j�\}}}}}}tj|||�S)N)r�rr�)r�r�r�r�r�r9r9r:�gids�szProcess.gidscCs%tj|j|j�}tj|�S)N)r=Zproc_cpu_timesr�r�r�	pcputimes)r�rJr9r9r:rJ�szProcess.cpu_timescCsd|j�td}|d@d?|d@B}x3tjd�D]"}tj|�j|kr:|Sq:WdS)Nr$l��i��z	/dev/**/*)r�r��globrLr��st_rdev)r�Zttydev�devr9r9r:�terminal�szProcess.terminalcCs�|j}y-tjd||jf�}|jd�SWnXtk
r�}z8|jtjkr{tjd||jf�dS�WYdd}~XnXdS)Nz	%s/%s/cwd�/z%s/%s)	r�rL�readlinkr�r��OSErrorr�r�r�)r�Zprocfs_path�resultr�r9r9r:r��s	zProcess.cwdcCs=|j�}|tdd}|tdd}t||�S)Nrir)r�r�r&)r�rIrrr9r9r:�memory_infoszProcess.memory_infocCs$|j�td}tj|d�S)Nr"�?)r�r��
PROC_STATUSESr�)r��coder9r9r:r"	szProcess.statuscCs#tjddt|j�gdtjdtj�}|j�\}}trjdd�||fD�\}}d|j�kr�t|j|j	��t
jd|�}g}xs|D]k\}}|j�}|j
d	�r�|d
d�}|j�dkr�q�|jtj|t|���q�W|S)Nz/usr/bin/procfilesz-nrQrRcSs%g|]}|jtjj��qSr9)rSr7rQrT)rDrEr9r9r:rFs	z&Process.open_files.<locals>.<listcomp>zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rUrVr�r�rWrXr�lowerrr�r��findallr[�
startswithrkr�	popenfiler�)r�r_rQrRZ	procfilesrmr�r2r9r9r:�
open_filess$	#zProcess.open_filescCs6|jdkrdSttjd|j|jf��S)Nrz%s/%s/fd)r�r]rLr�r�)r�r9r9r:�num_fds%szProcess.num_fdscCstjtj|j��S)N)r�pctxswr=Zproc_num_ctx_switchesr�)r�r9r9r:�num_ctx_switches+szProcess.num_ctx_switchesNcCstj|j||j�S)N)rZwait_pidr�r�)r��timeoutr9r9r:�wait0szProcess.waitc
Csty"tj|j�\}}}}Wn9tk
r]t|j�sVt|j|j���YnXtj||||�S)N)	r=Zproc_io_countersr�r�r�rr�r�pio)r��rcZwc�rb�wbr9r9r:�io_counters4s"
zProcess.io_counters)%�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r
r�r�r�r�r�r�r�rr �HAS_THREADSr�r�r�r�rr�r�rJr�r�r�Zmemory_full_infor"r�r�r�r�r�r9r9r9r:r�bsDr�ru)irr�r�rLr�rUr7�collectionsr�socketrrgrrrr=rr�r	r
rrr
rrr�_compatr�_exceptionsrrrZ__extra__all__�hasattrrrMZ	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_NONErz�dictr�r&Zpfullmemr'r+r1rw�_fieldsr4r;r>rBrJrGrOr`raZdisk_io_countersrirhr�Znet_io_countersrxr�r�r�r�r�r��objectr�r9r9r9r:�<module>s�				

					!%