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



Cs[6D�@s�dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddl	mZddl	mZ
dd	l	mZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddlmZddlmZddlmZgZejd�ZejZe
j e
j!e
j"e
j#e
j$e
j%e
j&e
j'e
j(e
j)e
j*e
j+e
j,e
j-e
j.e
j/e
j0e
j1e
j2e
j3e
j4e
j5e
j6e
j7iZ8e
j9e
j:e
j;e
j<e
j=e
j>e
j?e
j@e
jAe
jBiZCeDddddddddddddd d!d"d#d$d%d&d'd(d)�ZEeDd*dd+dd,dd-dd.dd/dd0d!d1d#�ZFed2d3d4d5d6g�ZGed7d8d9d:d;d<d=d>d?g�ZHed@d,d-d.d/g�ZIedAeIjJdn�ZKedCdD�ZLedEdFdGjMeLjJ��ZNdHdI�ZOdJdK�ZPdLdM�ZQdNdO�ZRdPdQ�ZSdRdS�ZTdTdU�ZUdVdW�ZVejWZWe
jXZXdXdYdZ�ZYd[d\�ZZe
j[Z[ej\Z\d]d^d_�Z]d`da�Z^dbdc�Z_ddde�Z`dfdg�ZaejbZbdhdi�Zcejddjdk��ZeGdldm�dmef�ZgdS)ozmacOS platform implementation.�N)�AF_INET)�
namedtuple�)�_common)�_psposix)�_psutil_osx)�
_psutil_posix)�AF_INET6)�	conn_tmap)�
isfile_strict)�memoize_when_activated)�parse_environ_block)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�AccessDenied)�
NoSuchProcess)�
ZombieProcess�SC_PAGE_SIZE�ppid�ruid�euid��suid��rgid��egid��sgid��ttynr��ctime��status�	�name�
�cpuutime�cpustime�rss�vms�pfaults�pageins�
numthreads�volctxsw�	scputimes�user�nice�system�idle�svmem�total�	available�percent�used�free�active�inactive�wired�pmem�pfullmem�uss�
pmmap_groupedz7path rss private swapped dirtied ref_count shadow_depth�	pmmap_extzaddr perms � c	Csktj�\}}}}}||}|||}t|||dd�}t||||||||�S)z&System virtual memory as a namedtuple.�round_r)�cextZvirtual_memrr6)r7r<r=r>r;Zavailr:r9�rG�@/opt/alt/python35/lib64/python3.5/site-packages/psutil/_psosx.py�virtual_memoryxs
rIcCsLtj�\}}}}}t||dd�}tj||||||�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rEr)rFZswap_memrr�sswap)r7r:r;�sin�soutr9rGrGrH�swap_memory�srMcCs+tj�\}}}}t||||�S)z(Return system CPU times as a namedtuple.)rF�	cpu_timesr1)r2r3r4r5rGrGrHrN�srNcCsUg}xHtj�D]:}|\}}}}t||||�}|j|�qW|S)z(Return system CPU times as a named tuple)rF�
per_cpu_timesr1�append)�retZcpu_tr2r3r4r5�itemrGrGrHrO�srOcCs
tj�S)z0Return the number of logical CPUs in the system.)rF�cpu_count_logicalrGrGrGrHrS�srScCs
tj�S)z1Return the number of physical CPUs in the system.)rFZcpu_count_physrGrGrGrH�cpu_count_physical�srTcCs1tj�\}}}}}tj||||�S)N)rF�	cpu_statsr�	scpustats)�ctx_switches�
interrupts�soft_interrupts�syscallsZtrapsrGrGrHrU�srUcCs+tj�\}}}tj|||�gS)z�Return CPU frequency.
    On macOS per-cpu frequency is not supported.
    Also, the returned frequency never changes, see:
    https://arstechnica.com/civis/viewtopic.php?f=19&t=465002
    )rF�cpu_freqr�scpufreq)�currZmin_Zmax_rGrGrHr[�sr[Fc	Cs�g}tj�}x�|D]~}|\}}}}|dkrCd}|srtjj|�stjj|�rrqtj||||�}|j|�qW|S)z8Return mounted disk partitions as a list of namedtuples.Znone�)	rF�disk_partitions�os�path�isabs�existsr�	sdiskpartrP)	�all�retlistZ
partitions�	partition�device�
mountpoint�fstype�opts�ntuplerGrGrHr_�s
&r_cCs�ytj�\}}}Wntk
r1dSYnX|dk}|rPtj}n"|dkrhtj}n
|d}tj|||�S)zReturn battery information.Nr�<���)rF�sensors_battery�NotImplementedErrorr�POWER_TIME_UNLIMITED�POWER_TIME_UNKNOWN�sbattery)r9Zminsleft�
power_plugged�secsleftrGrGrHro�s
	
ro�inetc
Cs�g}x�t�D]w}yt|�j|�}Wntk
rFwYqX|rx7|D]/}t|�|g}|jtj|��qTWqW|S)z System-wide network connections.)�pids�Process�connectionsr�listrPr�sconn)�kindrQ�pidZcons�crGrGrH�net_connections�s

rcCs�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)�namesrQr'�mtu�isup�duplex�speed�errrGrGrH�net_if_statss
 r�cCs
tj�S)z:The system boot time expressed in seconds since the epoch.)rF�	boot_timerGrGrGrHr�sr�c	Cs�g}tj�}xo|D]g}|\}}}}}|dkrCq|sLqtj||p^d|pgd||�}|j|�qW|S)z:Return currently connected users as a list of namedtuples.�~N)rF�usersr�suserrP)	rf�rawlistrRr2�tty�hostnameZtstampr}�ntrGrGrHr�!s
'r�cCsvtj�}d|krry$td�j�|jdd�Wn3tk
rPYn"tk
rq|jdd�YnX|S)Nr)rFrwrx�create_time�insertrr)ZlsrGrGrHrw5s

rwcs%tj���fdd��}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    cs�y�|||�SWn�tk
r�}z_|jtjkrPt|j|j��|jtjtjfkr�t|j|j���WYdd}~Xn0t	j
k
r�t|j|j|j��YnXdS)N)
r�r��ESRCHrr}�_name�EPERM�EACCESrrFZZombieProcessErrorr�_ppid)�self�args�kwargsr�)�funrGrH�wrapperLsz wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rG)r�rH�wrap_exceptionsHs!r�ccs�y	dVWn�ttfk
r�}z�t|t�sE|jtjkr�y|j�}Wntk
ro|�Yq�X|tjkr�t	|j
|j|j��q�t
|j
|j��n�WYdd}~XnXdS)z�There are some poor C APIs which incorrectly raise ESRCH when
    the process is still alive or it's a zombie, or even RuntimeError
    (those who don't set errno). This is here in order to solve:
    https://github.com/giampaolo/psutil/issues/1044
    N)r��RuntimeError�
isinstancer�r�r%rr�
STATUS_ZOMBIErr}r�r�r)�procr�r%rGrGrH�catch_zombie[s	!
r�c@s#eZdZdZdddgZdd�Zedd��Zed	d
��Zdd�Z	d
d�Z
edd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zed'd(��Zed)d*��Zed+d,��Zed-d.��Zed/d0d1��Zed2d3��Zed4d5d6��Zed7d8��Zed9d:��Z ed;d<��Z!ed=d>��Z"ed?d@��Z#d4S)Arxz1Wrapper class around underlying C implementation.r}r�r�cCs||_d|_d|_dS)N)r}r�r�)r�r}rGrGrH�__init__zs		zProcess.__init__cCs4tj|j�}t|�tt�ks0t�|S)N)rFZproc_kinfo_oneshotr}�len�kinfo_proc_map�AssertionError)r�rQrGrGrH�_get_kinfo_procszProcess._get_kinfo_procc
CsHt|��tj|j�}WdQRXt|�tt�ksDt�|S)N)r�rFZproc_pidtaskinfo_oneshotr}r��pidtaskinfo_mapr�)r�rQrGrGrH�_get_pidtaskinfo�s
zProcess._get_pidtaskinfocCs|jj�|jj�dS)N)r��cache_activater�)r�rGrGrH�
oneshot_enter�s
zProcess.oneshot_entercCs|jj�|jj�dS)N)r��cache_deactivater�)r�rGrGrH�oneshot_exit�s
zProcess.oneshot_exitcCs4|j�td}|dk	r$|Stj|j�S)Nr')r�r�rFZ	proc_namer})r�r'rGrGrHr'�szProcess.namec	Cs(t|��tj|j�SWdQRXdS)N)r�rFZproc_exer})r�rGrGrH�exe�s
zProcess.exec	Cs(t|��tj|j�SWdQRXdS)N)r�rFZproc_cmdliner})r�rGrGrH�cmdline�s
zProcess.cmdlinec
Cs.t|��ttj|j��SWdQRXdS)N)r�r
rFZproc_environr})r�rGrGrH�environ�s
zProcess.environcCs|j�td|_|jS)Nr)r�r�r�)r�rGrGrHr�szProcess.ppidc	Cs(t|��tj|j�SWdQRXdS)N)r�rFZproc_cwdr})r�rGrGrH�cwd�s
zProcess.cwdcCs7|j�}tj|td|td|td�S)Nrrr)r�r�puidsr�)r��rawtuplerGrGrH�uids�s
zProcess.uidscCs7|j�}tj|td|td|td�S)Nrrr)r�rr�r�)r�r�rGrGrH�gids�s
zProcess.gidscCsI|j�td}tj�}y||SWntk
rDdSYnXdS)Nr!)r�r�rZget_terminal_map�KeyError)r�Ztty_nrZtmaprGrGrH�terminal�s
zProcess.terminalcCs?|j�}t|td|td|td|td�S)Nr+r,r-r.)r�r?r�)r�r�rGrGrH�memory_info�szProcess.memory_infocCs/|j�}tj|j�}t||f�S)N)r�rFZproc_memory_ussr}r@)r�Z	basic_memrArGrGrH�memory_full_info�szProcess.memory_full_infocCs2|j�}tj|td|tddd�S)Nr)r*g)r�r�	pcputimesr�)r�r�rGrGrHrN�s
zProcess.cpu_timescCs|j�tdS)Nr#)r�r�)r�rGrGrHr��szProcess.create_timecCs$|j�td}tj|d�S)Nr0r)r�r�r�pctxsw)r�ZvolrGrGrH�num_ctx_switches�szProcess.num_ctx_switchescCs|j�tdS)Nr/)r�r�)r�rGrGrH�num_threads�szProcess.num_threadscCs�|jdkrgSg}t|��tj|j�}WdQRXx?|D]7\}}t|�rFtj||�}|j|�qFW|S)Nr)r}r�rFZproc_open_filesrr�	popenfilerP)r��filesr�ra�fdrlrGrGrH�
open_files�s
zProcess.open_filesrvcCs0|tkr8td|djdd�tD��f��t|\}}t|��tj|j||�}WdQRXg}x�|D]�}|\}}}	}
}}t|}t|�}t	|	�}	|t
tfkr�|
r�tj
|
�}
|r�tj
|�}tj|||	|
||�}
|j|
�q�W|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrG)�repr)�.0�xrGrGrH�
<listcomp>s	z'Process.connections.<locals>.<listcomp>)r
�
ValueError�joinr�rFZproc_connectionsr}�TCP_STATUSESrrrr	r�addr�pconnrP)r�r|Zfamilies�typesr�rQrRr�Zfam�type�laddr�raddrr%r�rGrGrHrys(&


zProcess.connectionsc	Cs;|jdkrdSt|��tj|j�SWdQRXdS)Nr)r}r�rFZproc_num_fds)r�rGrGrH�num_fdss
zProcess.num_fdsNcCstj|j||j�S)N)rZwait_pidr}r�)r��timeoutrGrGrH�wait!szProcess.waitc	Cs(t|��tj|j�SWdQRXdS)N)r�r��getpriorityr})r�rGrGrH�nice_get%s
zProcess.nice_getc
Cs+t|��tj|j|�SWdQRXdS)N)r�r��setpriorityr})r��valuerGrGrH�nice_set*s
zProcess.nice_setcCs$|j�td}tj|d�S)Nr%�?)r�r��
PROC_STATUSES�get)r��coderGrGrHr%/szProcess.statuscCsXtj|j�}g}x9|D]1\}}}tj|||�}|j|�qW|S)N)rFZproc_threadsr}r�pthreadrP)r�r�rfZ	thread_id�utimeZstimerlrGrGrH�threads5szProcess.threadscCstj|j�S)N)rFZproc_memory_mapsr})r�rGrGrH�memory_maps>szProcess.memory_maps)$�__name__�
__module__�__qualname__�__doc__�	__slots__r�rr�r�r�r�r�r'r�r�r�rr�r�r�r�r�r�rNr�r�r�r�ryr�r�r�r�r%r�r�rGrGrGrHrxusB	
	
	rx)rA)hr��
contextlibr�r�r`�socketr�collectionsrr^rrrrFrr�r	r
rrr
rrr�_exceptionsrrrZ__extra__all__�sysconfZPAGESIZEZAF_LINKZTCPS_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_CLOSINGZPSUTIL_CONN_NONE�	CONN_NONEr�ZSIDL�STATUS_IDLEZSRUN�STATUS_RUNNINGZSSLEEP�STATUS_SLEEPINGZSSTOP�STATUS_STOPPEDZSZOMBr�r��dictr�r�r1r6r?�_fieldsr@rBr�rCrIrMrNrOrSrTrUr[�
disk_usageZdisk_io_countersr_ror�Znet_if_addrsrr�r�r�rwZ
pid_existsr��contextmanagerr��objectrxrGrGrGrH�<module>s�