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__/_psbsd.cpython-35.pyc



Cs[�v�3@s�dZddlZddlZddlZddlZddljjZddl	m
Z
ddlmZddl
mZddl
mZddl
mZdd	l
mZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl m!Z!ddl m"Z"ddl m#Z#gZ$er�ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej0ej1ej2iZ3n�es�erZej%ej&ej)ej*ej+ej,ej4ej.ej-ej.ej'ej5ej6ej(iZ3n`er�ej%ej&ej7ej(ej8ej.ej+ej,ej-ej.ej4ej9ej:ej;iZ3ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIejJejKejLejMejNejOejPejQejRejSiZTerhejUd�ZVnejUd�ZVejWZWeXddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdI�ZYe
dJdKdLdMdNdOdPdQdRdSdTdUg�ZZe
dVdWdXdYdZd[g�Z[e
d\d<d>d]d^d_g�Z\e\Z]e
d`dWdYdadbg�Z^e
dcdd�Z_e
dedf�Z`er�e
dgdhdidjdkdldmdng�Zane
dgdhdidjdkg�Zadodp�Zbdqdr�Zcdsdt�Zdeeedu�rTdvdu�Zfndwdu�Zfdxef_gdydz�Zhes�er�d{d|�Zind}d|�Zid~d�Zjdxd�d��ZkejlZlejmZmejnZnejoZod�d��Zpd�d��Zqerd�d��Zrd�d��Zsd�d��Zted�d���Zud�d��ZvesGerVd�d��Zwn	ejwZwd�d��Zxejyd�d���ZzGd�d��d�e{�Z|dS)�z5FreeBSD, OpenBSD and NetBSD platforms implementation.�N)�
namedtuple)�AF_INET�)�_common)�_psposix)�_psutil_bsd)�
_psutil_posix)�AF_INET6)�	conn_tmap)�FREEBSD)�memoize)�memoize_when_activated)�NETBSD)�OPENBSD)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�which)�AccessDenied)�
NoSuchProcess)�
ZombieProcess�SC_PAGESIZE�SC_PAGE_SIZE�ppid�status�real_uid��
effective_uid��	saved_uid��real_gid��
effective_gid��	saved_gid��ttynr��create_time�	�ctx_switches_vol�
�ctx_switches_unvol��
read_io_count��write_io_count�
�	user_time��sys_time��ch_user_time��ch_sys_time��rss��vms��memtext��memdata��memstack��cpunum��name��svmem�total�	available�percent�used�free�active�inactive�buffers�cached�shared�wired�	scputimes�user�nice�system�idle�irq�pmem�text�data�stack�	pcputimes�
children_user�children_system�
pmmap_groupedz*path rss, private, ref_count, shadow_count�	pmmap_extz6addr, perms path rss, private, ref_count, shadow_count�sdiskio�
read_count�write_count�
read_bytes�write_bytes�	read_time�
write_timeZ	busy_timecCstj�}|\}}}}}}}}tr�tdd��m}	xc|	D][}
|
jd�r{t|
j�d�d}qI|
jd�rIt|
j�d�d}qIWWdQRX|||}|||}t|||dd�}
t|||
||||||||�S)	z&System virtual memory as a namedtuple.z
/proc/meminfo�rbsBuffers:ris
MemShared:N�round_)	�cextZvirtual_memr�open�
startswith�int�splitrrI)ZmemrJrNrOrPrTrRrQrS�f�lineZavailrMrL�rt�@/opt/alt/python35/lib64/python3.5/site-packages/psutil/_psbsd.py�virtual_memory�s
%rvcCsLtj�\}}}}}t||dd�}tj||||||�S)z@System swap memory as (total, used, free, sin, sout) namedtuple.rlr)rmZswap_memrr�sswap)rJrMrN�sin�soutrLrtrtru�swap_memory�srzcCs1tj�\}}}}}t|||||�S)z+Return system per-CPU times as a namedtuple)rm�	cpu_timesrU)rVrWrXrYrZrtrtrur{�sr{�
per_cpu_timescCs[g}xNtj�D]@}|\}}}}}t|||||�}|j|�qW|S)z'Return system CPU times as a namedtuple)rmr|rU�append)�retZcpu_trVrWrXrYrZ�itemrtrtrur|�scCsAt�dkrt�gStjr.td��dt_t�gS)z'Return system CPU times as a namedtuplerz&supported only starting from FreeBSD 8T)�cpu_count_logicalr{r|�
__called__�NotImplementedErrorrtrtrtrur|�s
		FcCs
tj�S)z0Return the number of logical CPUs in the system.)rmr�rtrtrtrur��sr�cCst�dkrdSdS)Nr)r�rtrtrtru�cpu_count_physical�sr�c
Cs�d}tj�}|dk	r�|jd�}|dkr�|d|d�}tj|�}zt|jd��pwd}Wd|j�X|s�t�dkr�dS|S)z1Return the number of physical CPUs in the system.Nz	</groups>rr*zgroup/children/group/cpu���)	rmZcpu_count_phys�rfind�ET�
fromstring�len�findall�clearr�)r~�s�index�rootrtrtrur��sc	Cs�tr$tj�\}}}}}n�tr�tj�\}}}}}}}tdd��=}x3|D]+}|jd�rdt|j�d�}qdWWdQRXn'tr�tj�\}}}}}}}t	j
||||�S)z*Return various CPU stats as a named tuple.z
/proc/statrksintrrN)rrm�	cpu_statsrrnrorprqrr�	scpustats)	ZctxswZintrsZ
soft_intrs�syscallsZtrapsZfaultsZforksrrrsrtrtrur�s!
$!r�c	Cs^g}tj�}xE|D]=}|\}}}}tj||||�}|j|�qW|S)z�Return mounted disk partitions as a list of namedtuples.
    'all' argument is ignored, see:
    https://github.com/giampaolo/psutil/issues/906
    )rm�disk_partitionsr�	sdiskpartr})	�all�retlistZ
partitions�	partition�device�
mountpoint�fstype�opts�ntuplertrtrur�<s
r�cCs�t�j�}i}x�|D]�}y7tj|�}tj|�}tj|�\}}Wn:tk
r�}z|jtjkr��WYdd}~XqXt	t
d�r�t
j|�}t
j||||�||<qW|S)z)Get NIC stats (isup, duplex, speed, mtu).N�	NicDuplex)
�net_io_counters�keys�
cext_posixZ
net_if_mtuZnet_if_flagsZnet_if_duplex_speed�OSError�errnoZENODEV�hasattrrr��	snicstats)�namesr~rG�mtu�isup�duplex�speed�errrtrtru�net_if_statsWs
 r�cCstr�g}x�t�D]}}yt|�j|�}Wnttfk
rRwYqXx=|D]5}t|�}|j|�|jtj	|��qZWqW|S|tj
kr�td|djdd�t
D��f��t
|\}}t
�}trtjd�}ntj�}x�|D]�}|\}	}
}}}
}}|
|kr||kryt|}Wntk
r�ttj}YnX|
ttfkr�|r�tj|�}|
r�tj|
�}
t|
�}
t|�}tj	|	|
|||
||�}|j|�qWt|�S)z System-wide network connections.z+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrt)�repr)�.0�xrtrtru�
<listcomp>}s	z#net_connections.<locals>.<listcomp>rr�)r�pids�Process�connectionsrr�listr}r�sconnr
�
ValueError�join�setrrm�net_connections�TCP_STATUSES�KeyError�PSUTIL_CONN_NONErr	�addrrr�add)�kindr~�pidZconsZconn�families�types�rawlistr�fd�fam�type�laddr�raddrr�ntrtrtrur�ksJ

&	

!r�cCs�ytj�\}}}Wntk
r1dSYnX|dk}|rPtj}n"|dkrhtj}n
|d}tj|||�S)zReturn battery info.Nr�<r�)rm�sensors_batteryr�r�POWER_TIME_UNLIMITED�POWER_TIME_UNKNOWN�sbattery)rLZminsleft�
power_plugged�secsleftrtrtrur��s
	
r�cCs
tj�S)z:The system boot time expressed in seconds since the epoch.)rm�	boot_timertrtrtrur��sr�c	Cs�g}tj�}x~|D]v}|\}}}}}|dkrRtsLt�d}|dkraqtj||psd|||�}|j|�qW|S)z:Return currently connected users as a list of namedtuples.rN�~r�)rm�usersr�AssertionErrorr�suserr})	r�r�rrV�tty�hostnameZtstampr�r�rtrtrur��s
!r�cCsJytd�j�Wn+tk
r,dSYntk
rAdSYnXdSdS)NrFT)r�rGrrrtrtrtru�
_pid_0_exists�s

	r�cCs;tj�}tr7d|kr7t�r7|jdd�|S)z7Returns a list of PIDs currently running on the system.r)rmr�rr��insert)r~rtrtrur��sr�cCs*tj|�}|s"|t�kSdSdS)zReturn True if pid exists.TN)r�
pid_existsr�)r��existsrtrtrur��s
r�cs%tj���fdd��}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    csy�|||�SWn�tk
r�}z�|jdkrbdt�kr_t|j|j��n�|jtjkr�t|j�s�t|j|j��nt	|j|j|j
��|jtjtjfkr�t|j|j���WYdd}~XnXdS)Nr)
r�r�r�r�_namer��ESRCHr�rr�_ppid�EPERM�EACCES)�self�args�kwargsr�)�funrtru�wrapper�sz wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rt)r�ru�wrap_exceptions�s!r�ccs�y	dVWn�tk
r�}z�|jtjtjfkr{t|j�s`t|j|j��nt|j|j|j	��|jtj
tjfkr�t|j|j���WYdd}~XnXdS)z8Same as above, for routines relying on reading /proc fs.N)
�EnvironmentErrorr��ENOENTr�r�r�rr�rr�r�r�r)�instr�rtrtru�wrap_exceptions_procfss	r�c@s�eZdZdZdddgZdd�Zedd��Zd	d
�Zdd�Z	e
d
d��Ze
dd��Ze
dd��Z
e
dd��Ze
dd��Ze
dd��Ze
dd��Ze
dd��Zer�e
dd��Ze
dd ��ZeZe
d!d"��Ze
d#d$��Ze
d%d&��Ze
d'd(��Ze
d)d*d+��Ze
d,d-d.��Ze
d/d0��Ze
d1d2��Ze
d3d4��Ze
d5d6��Z e
d7d8��Z!e"d9d:�Z#e"d9d;�Z$d<d=�Z%e&e'd>�r1e
d?d@��Z(ne%Z(e&e'dA�r[e
dBdC��Z)ne%Z)er�e
dDdE��Z*e
dFdG��Z+e
dHdI��Z,d,S)Jr�z1Wrapper class around underlying C implementation.r�r�r�cCs||_d|_d|_dS)N)r�r�r�)r�r�rtrtru�__init__(s		zProcess.__init__cCs4tj|j�}t|�tt�ks0t�|S)z;Retrieves multiple process info in one shot as a raw tuple.)rmZproc_oneshot_infor�r��kinfo_proc_mapr�)r�r~rtrtru�oneshot-szProcess.oneshotcCs|jj�dS)N)r��cache_activate)r�rtrtru�
oneshot_enter4szProcess.oneshot_entercCs|jj�dS)N)r��cache_deactivate)r�rtrtru�oneshot_exit7szProcess.oneshot_exitcCs4|j�td}|dk	r$|Stj|j�S)NrG)r�r�rmZ	proc_namer�)r�rGrtrtrurG:szProcess.namec
Cs�trtj|j�StrZ|jdkr/dSt|��tjd|j�SWdQRXn$|j�}|rzt	|d�SdSdS)Nr�z/proc/%s/exe)
rrmZproc_exer�rr��os�readlink�cmdliner)r�r�rtrtru�exe?s
zProcess.execCs�tr|jdkrgStr�ytj|j�SWq�tk
r�}z_|jtjkr�t|j�s�t	|j|j
��q�t|j|j
|j��n�WYdd}~Xq�Xntj|j�SdS)Nr)
rr�rrmZproc_cmdliner�r��EINVALr�rr�rr�)r�r�rtrtrur�UszProcess.cmdlinecCsI|j�td}tj�}y||SWntk
rDdSYnXdS)Nr')r�r�rZget_terminal_mapr�)r�Ztty_nrZtmaprtrtru�terminalks
zProcess.terminalcCs|j�td|_|jS)Nr)r�r�r�)r�rtrtrurtszProcess.ppidcCs7|j�}tj|td|td|td�S)Nrrr)r�r�puidsr�)r��rawtuplertrtru�uidsys
zProcess.uidscCs7|j�}tj|td|td|td�S)Nr!r#r%)r�r�pgidsr�)r�r�rtrtru�gids�s
zProcess.gidscCsB|j�}tj|td|td|td|td�S)Nr3r5r7r9)r�rr_r�)r�r�rtrtrur{�szProcess.cpu_timescCs|j�tdS)NrE)r�r�)r�rtrtru�cpu_num�szProcess.cpu_numcCsJ|j�}t|td|td|td|td|td�S)Nr;r=r?rArC)r�r[r�)r�r�rtrtru�memory_info�szProcess.memory_infocCs|j�tdS)Nr))r�r�)r�rtrtrur)�szProcess.create_timecCs3ttd�rtj|j�St|j��SdS)N�proc_num_threads)r�rmr�r�r��threads)r�rtrtru�num_threads�szProcess.num_threadscCs,|j�}tj|td|td�S)Nr+r-)r�r�pctxswr�)r�r�rtrtru�num_ctx_switches�szProcess.num_ctx_switchescCshtj|j�}g}x9|D]1\}}}tj|||�}|j|�qWtrd|j�|S)N)rmZproc_threadsr�r�pthreadr}rrG)r�r�r�Z	thread_id�utimeZstimer�rtrtrur�s
zProcess.threads�inetcCsy|tkr8td|djdd�tD��f��tr�t|\}}t�}tj|j�}x|D]�}|\}}}	}
}}}
|
|jks�t�||krp|	|krpyt	|}Wnt
k
r�t	tj}YnX|tt
fkr*|
rtj|
�}
|r*tj|�}t|�}t|	�}	tj|||	|
||�}|j|�qpW|j�t|�St|\}}tj|j||�}g}x�|D]�}|\}}}	}
}}|tt
fkr|
r�tj|
�}
|rtj|�}t|�}t|	�}	t	|}tj|||	|
||�}|j|�q�Wtru|j�|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrt)r�)r�r�rtrtrur��s	z'Process.connections.<locals>.<listcomp>)r
r�r�rr�rmr�r�r�r�r�r�rr	rr�rr�pconnr�rGr�Zproc_connectionsr}r)r�r�r�r�r~r�rr�r�r�r�r�rr�r�rtrtrur��sX&	






zProcess.connectionsNcCstj|j||j�S)N)rZwait_pidr�r�)r��timeoutrtrtru�wait�szProcess.waitcCstj|j�S)N)r��getpriorityr�)r�rtrtru�nice_getszProcess.nice_getcCstj|j|�S)N)r��setpriorityr�)r��valuertrtru�nice_setszProcess.nice_setcCs$|j�td}tj|d�S)Nr�?)r�r��
PROC_STATUSES�get)r��codertrtrurszProcess.statuscCs2|j�}tj|td|tddd�S)Nr/r1rr�r�)r�r�pior�)r�r�rtrtru�io_countersszProcess.io_countersc
Cs�tr|jdkrdStrJt|��tjd|j�SWdQRXn=ttd�rotj|j�pndSt	t
r~dnd��dS)z)Return process current working directory.rNz/proc/%s/cwd�proc_open_filesz&supported only starting from FreeBSD 8r�)rr�rr�r�r�r�rmZproc_cwdr�r)r�rtrtru�cwds
zProcess.cwdZmmapz*path rss, private, ref_count, shadow_countz6addr, perms path rss, private, ref_count, shadow_countcCs
t�dS)N)r�)r�rtrtru�_not_implemented/szProcess._not_implementedrcCs#tj|j�}dd�|D�S)z8Return files opened by process as a list of namedtuples.cSs(g|]\}}tj||��qSrt)r�	popenfile)r��pathr�rtrtrur�9s	z&Process.open_files.<locals>.<listcomp>)rmrr�)r�r�rtrtru�
open_files5szProcess.open_files�proc_num_fdscCs&tj|j�}tr"|j�|S)z=Return the number of file descriptors opened by this process.)rmrr�rrG)r�r~rtrtru�num_fds@s
zProcess.num_fdscCstj|j�S)N)rmZproc_cpu_affinity_getr�)r�rtrtru�cpu_affinity_getPszProcess.cpu_affinity_getcCs�tttt����}x0|D](}||kr"td||f��q"Wytj|j|�Wnvtk
r�}zV|j	t	j
t	jfkr�x0|D](}||kr�td||f��q�W�WYdd}~XnXdS)Nz#invalid CPU #%i (choose between %s))�tuple�ranger�r|r�rmZproc_cpu_affinity_setr�r�r�r�ZEDEADLK)r�ZcpusZallcpusZcpur�rtrtru�cpu_affinity_setTs

zProcess.cpu_affinity_setcCstj|j�S)N)rmZproc_memory_mapsr�)r�rtrtru�memory_mapsmszProcess.memory_maps)-�__name__�
__module__�__qualname__�__doc__�	__slots__r�r
r�r�r�r�rGr�r�r�rr�r�r{rr�r�Zmemory_full_infor)rrrr�r	rrrrrrZnt_mmap_groupedZnt_mmap_extrr�rmrrrr r!rtrtrtrur�#s\		
6	
r�)}r%�
contextlibr�r�r�Zxml.etree.ElementTree�etreeZElementTreer��collectionsr�socketrr�rrrrmrr�r	r
rrr
rrrrr�_compatr�_exceptionsrrrZ__extra__all__ZSIDL�STATUS_IDLEZSRUN�STATUS_RUNNINGZSSLEEP�STATUS_SLEEPINGZSSTOP�STATUS_STOPPEDZSZOMB�
STATUS_ZOMBIEZSWAIT�STATUS_WAITINGZSLOCK�
STATUS_LOCKEDrZSDEAD�
STATUS_WAKINGZSONPROCZSACTIVEZSDYING�STATUS_DEADZ
SSUSPENDED�STATUS_SUSPENDEDZTCPS_ESTABLISHED�CONN_ESTABLISHEDZ
TCPS_SYN_SENT�
CONN_SYN_SENTZTCPS_SYN_RECEIVED�
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_CLOSINGr��	CONN_NONEr��sysconfZPAGESIZEZAF_LINK�dictr�rIrUr[Zpfullmemr_rbrcrdrvrzr{r�r|r�r�r�r�r��
disk_usageZdisk_io_countersr�Znet_if_addrsr�r�r�r�r�r�r�r�r��contextmanagerr��objectr�rtrtrtru�<module>s		
		#				6