Sindbad~EG File Manager

Current Path : /usr/local/lib64/python3.6/site-packages/psutil/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/psutil/__pycache__/_pssunos.cpython-36.pyc

3

�[g�c�@sJdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddl
mZddl
m
Zdd	l
mZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!dddgZ"ej#�Z$ej%Z%ej&ddkZ'dZ(d Z)ej*ej+ej,ej-ej.ej/ej0ej1ej2ej3ej4ej-ej5ej6iZ7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIejJejKejLejMejNejOejPe(ejQe)iZReSdddd!d"d#d$d%d&d'd(d)d*�ZTed+d,d-d.d/g�ZUed0d,d-d1d2g�ZVed3d4d5d6d7d8g�ZWed9d:d;g�ZXeXZYed<d=d:d>d?g�ZZed@dAdBj[eZj\��Z]dCdD�Z^dEdF�Z_dGdH�Z`dIdJ�ZadKdL�ZbdMdN�ZcdOdP�ZdejeZeejfZfdedRdS�ZgejhZhejiZidgdTdU�ZjdVdW�ZkdXdY�ZldZd[�Zmd\d]�Znd^d_�Zod`da�ZpGdbdc�dc�ZqdS)hz'Sun OS Solaris platform implementation.�N)�
namedtuple)�AF_INET�)�_common)�_psposix)�
_psutil_posix)�
_psutil_sunos)�AF_INET6)�AccessDenied)�
NoSuchProcess)�
ZombieProcess)�debug)�get_procfs_path)�
isfile_strict)�memoize_when_activated)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�PY3)�FileNotFoundError)�PermissionError)�ProcessLookupError)�b�	CONN_IDLE�
CONN_BOUND�PROCFS_PATH�� ZIDLEZBOUND�������	�
�)�ppid�rss�vms�create_time�nice�num_threads�status�ttynr�uid�euid�gid�egid�	scputimes�user�system�idleZiowait�	pcputimes�
children_user�children_system�svmem�total�	available�percent�used�free�pmemr(r)�
pmmap_grouped�pathZ	anonymous�locked�	pmmap_extzaddr perms � cCsFtjd�t}tjd�t}}||}t||dd�}t|||||�S)zReport virtual memory metrics.�
SC_PHYS_PAGES�SC_AVPHYS_PAGESr)�round_)�os�sysconf�	PAGE_SIZErr:)r;r?Zavailr>r=�rL�;/usr/local/lib64/python3.6/site-packages/psutil/_pssunos.py�virtual_memorys
rNcCstj�\}}tjddtjdddgtjd�}|j�\}}trL|j	t
jj�}|j
dkrdtd|j
��|j�jd	�d
d�}|s�d}t|��d}}xL|D]D}	|	j�}	|	d
d�\}
}|tt|
�d�7}|tt|�d�7}q�W||}t||d
d�}
tj||||
|t|t�S)zReport swap memory metrics.z/usr/bin/envzPATH=/usr/sbin:/sbin:%s�PATHZswapz-l)�stdoutrz'swap -l' failed (retcode=%s)�
rNzno swap device(s) configuredrr i)rH)�cextZswap_mem�
subprocess�PopenrI�environ�PIPE�communicater�decode�sysrP�encoding�
returncode�RuntimeError�strip�split�intrr�sswaprK)�sin�sout�prP�_�lines�msgr;r?�line�t�fr>r=rLrLrM�swap_memory�s4


rjcCstj�}tdd�t|�D��S)z.Return system-wide CPU times as a named tuple.cSsg|]}t|��qSrL)�sum)�.0�xrLrLrM�
<listcomp>�szcpu_times.<locals>.<listcomp>)rR�
per_cpu_timesr3�zip)�retrLrLrM�	cpu_times�srrcCstj�}dd�|D�S)z6Return system per-CPU times as a list of named tuples.cSsg|]}t|��qSrL)r3)rlrmrLrLrMrn�sz!per_cpu_times.<locals>.<listcomp>)rRro)rqrLrLrMro�srocCs$y
tjd�Stk
rdSXdS)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)rIrJ�
ValueErrorrLrLrLrM�cpu_count_logical�s
rucCstj�S)z-Return the number of CPU cores in the system.)rR�cpu_count_coresrLrLrLrMrv�srvcCs$tj�\}}}}d}tj||||�S)z*Return various CPU stats as a named tuple.r)rR�	cpu_statsr�	scpustats)�ctx_switches�
interrupts�syscallsZ_traps�soft_interruptsrLrLrMrw�srwFc
Cs�g}tj�}x�|D]�}|\}}}}|dkr.d}|sxyt|�js@wWn4tk
rv}ztd||f�wWYdd}~XnXtj||||�}	|j|	�qW|S)zReturn system disk partitions.Znone�zskipping %r: %sN)	rR�disk_partitions�
disk_usager;�OSErrorr
r�	sdiskpart�append)
�all�retlistZ
partitions�	partition�device�
mountpoint�fstype�opts�errZntuplerLrLrMr~�s 

r~c	Cstjj�}|dkr|jdd�||krFtd|djdd�|D��f��tj|\}}tj|�}t�}x�|D]�}|\}}	}
}}}
}|	|kr�qj|
|kr�qj|	t	t
fkr�|r�tj|�}|r�tj|�}t|
}
t
|	�}	t|
�}
|d	kr�tj||	|
|||
|�}ntj||	|
|||
�}|j|�qjWt|�S)
z�Return socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    Only INET sockets are returned (UNIX are not).
    r�unixrz+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSrL)�repr)rlrmrLrLrMrnsz#net_connections.<locals>.<listcomp>���r�)r�	conn_tmap�copy�poprt�joinrR�net_connections�setrr	�addr�TCP_STATUSESrr�sconn�pconn�add�list)�kind�_pidZcmapZfamilies�types�rawlistrq�item�fd�fam�type_�laddr�raddrr-�pid�ntrLrLrMr�s:




r�cCsXtj�}xJ|j�D]>\}}|\}}}}ttd�r:tj|�}tj||||d�||<qW|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplexr})rR�net_if_stats�items�hasattrrr��	snicstats)rq�namer��isup�duplex�speed�mturLrLrMr�.s

r�cCstj�S)z:The system boot time expressed in seconds since the epoch.)rR�	boot_timerLrLrLrMr�>sr�cCs`g}tj�}d}xJ|D]B}|\}}}}}}	|s0q||kr<d}tj|||||	�}
|j|
�qW|S)z:Return currently connected users as a list of namedtuples.�:0.0�:0�	localhost)r�r�)rR�usersr�suserr�)r�r�r�r�r4�tty�hostnameZtstampZuser_processr�r�rLrLrMr�Cs
r�cCsdd�tjtt���D�S)z7Returns a list of PIDs currently running on the system.cSsg|]}|j�rt|��qSrL)�isdigitr_)rlrmrLrLrMrn]szpids.<locals>.<listcomp>)rI�listdirrrrLrLrLrM�pids[sr�cCs
tj|�S)z&Check for the existence of a unix pid.)r�
pid_exists)r�rLrLrMr�`sr�cstj���fdd��}|S)z�Call callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    cs�y�|f|�|�Sttfk
rTt|j�s>t|j|j��nt|j|j|j��Yn\tk
rtt	|j|j��Yn<t
k
r�|jdkr�dt�kr�t	|j|j��n��YnXdS)Nr)rrr�r�r�_namer�_ppidrr
r�r�)�self�args�kwargs)�funrLrM�wrapperjs


z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rL)r�rM�wrap_exceptionsesr�c@s�eZdZdZdddddgZdd�Zd	d
�Zdd�Zd
d�Ze	e
dd���Ze	e
dd���Ze	e
dd���Z
e	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd ��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��Ze	d3d4��ZeZe	d5d6��Ze	d7d8��Z e	d9d:��Z!d;d<�Z"e	dLd>d?��Z#e$d@dA�Z%e$d@dB�Z&e	dCdD��Z'e	dEdF��Z(e	dGdH��Z)e	dMdJdK��Z*dIS)N�Processz1Wrapper class around underlying C implementation.�_cacher�r��_procfs_pathr�cCs||_d|_d|_t�|_dS)N)r�r�r�rr�)r�r�rLrLrM�__init__�szProcess.__init__cCstjd|j|jf�dS)z+Raise NSP if the process disappeared on us.z%s/%sN)rI�statr�r�)r�rLrLrM�
_assert_alive�szProcess._assert_alivecCs(|jj|�|jj|�|jj|�dS)N)�_proc_name_and_args�cache_activate�_proc_basic_info�
_proc_cred)r�rLrLrM�
oneshot_enter�szProcess.oneshot_entercCs(|jj|�|jj|�|jj|�dS)N)r��cache_deactivater�r�)r�rLrLrM�oneshot_exit�szProcess.oneshot_exitcCstj|j|j�S)N)rRZproc_name_and_argsr�r�)r�rLrLrMr��szProcess._proc_name_and_argscCsV|jdkr.tjjd|j|jf�r.t|j��tj|j|j�}t|�tt	�ksRt
�|S)Nrz%s/%s/psinfo)r�rIrB�existsr�r
rRZproc_basic_info�len�
proc_info_map�AssertionError)r�rqrLrLrMr��s
zProcess._proc_basic_infocCstj|j|j�S)N)rRZ	proc_credr�r�)r�rLrLrMr��szProcess._proc_credcCs|j�dS)Nr)r�)r�rLrLrMr��szProcess.namecCs8ytjd|j|jf�Stk
r*YnX|j�dS)Nz%s/%s/path/a.outr})rI�readlinkr�r�r��cmdline)r�rLrLrM�exe�szProcess.execCs|j�djd�S)NrrE)r�r^)r�rLrLrMr��szProcess.cmdlinecCstj|j|j�S)N)rRZproc_environr�r�)r�rLrLrMrU�szProcess.environcCs|j�tdS)Nr*)r�r�)r�rLrLrMr*�szProcess.create_timecCs|j�tdS)Nr,)r�r�)r�rLrLrMr,�szProcess.num_threadscCs|j�tdS)Nr+)r�r�)r�rLrLrM�nice_get�szProcess.nice_getcCs&|jdkrt|j|j��tj|j|�S)Nrr)rr)r�r
r��
cext_posix�setpriority)r��valuerLrLrM�nice_set�s
zProcess.nice_setcCs|j�td|_|jS)Nr')r�r�r�)r�rLrLrMr'�szProcess.ppidcCs`y|j�\}}}}}}Wn8tk
rP|j�td}|j�td}d}YnXtj|||�S)Nr/r0)r�r
r�r�r�puids)r��real�	effective�savedrdrLrLrM�uids�s
zProcess.uidscCs`y|j�\}}}}}}Wn8tk
rP|j�td}|j�td}d}YnXtj|||�S)Nr1r2)r�r
r�r�rr�)r�rdr�r�r�rLrLrM�gids�s
zProcess.gidscCs\ytj|j|j�}Wn<tk
rP}z |jtjkr>tr>d}n�WYdd}~XnXtj	|�S)N�)r�r�r�r�)
rRZproc_cpu_timesr�r�r��errno�	EOVERFLOW�	IS_64_BITrr7)r��timesr�rLrLrMrrszProcess.cpu_timescCstj|j|j�S)N)rRZproc_cpu_numr�r�)r�rLrLrM�cpu_numszProcess.cpu_numcCsx|j}d}t|j�td�}|tjkrhx>d	D]6}ytjd||j|f�St	k
rbd}w.Yq.Xq.W|rt|j
�dS)
NFr.rrr�z
%s/%d/path/%dT)rrrr�)r�r�r�r�rRZPRNODEVrIr�r�rr�)r��procfs_path�
hit_enoentr�rmrLrLrM�terminals

zProcess.terminalcCsH|j}ytjd||jf�Stk
rBtjd||jf�dSXdS)Nz%s/%s/path/cwdz%s/%sr})r�rIr�r�rr�)r�r�rLrLrM�cwd'szProcess.cwdcCs2|j�}|tdd}|tdd}t||�S)Nr(ir))r�r�r@)r�rqr(r)rLrLrM�memory_info4szProcess.memory_infocCs|j�td}tj|d�S)Nr-�?)r�r��
PROC_STATUSES�get)r��coderLrLrMr-=szProcess.statusc
Cs�|j}g}tjd||jf�}d}x�|D]�}t|�}ytj|j||�\}}WnJtk
r�}z.|jtj	krrt
rrw(|jtjkr�d}w(�WYdd}~Xq(Xtj
|||�}	|j|	�q(W|r�|j�|S)Nz	%s/%d/lwpFT)r�rIr�r�r_rRZquery_process_thread�EnvironmentErrorr�r�r��ENOENTr�pthreadr�r�)
r�r�rqZtidsr��tid�utimeZstimer�r�rLrLrM�threadsCs*
zProcess.threadscCs�g}d}|j}d||jf}x~tjd||jf�D]f}tjj||�}tjj|�r2ytj|�}Wntk
rxd}w2Yq2Xt	|�r2|j
tj|t
|���q2W|r�|j�|S)NFz
%s/%d/pathz%s/%d/fdT)r�r�rIr�rBr��islinkr�rrr�r�	popenfiler_r�)r�r�r�r�Zpathdirr�rB�filerLrLrM�
open_fileses"zProcess.open_filesccs.dt|�g}tj|tjtjd�}|j�\}}trFdd�||fD�\}}|jdkr�d|j�krjt|j	|j
��d|j�kr�t|j	|j
��td||f��|j
d	�d
d�}x�t|�D]v\}}|j�}|jd�r�|j
d
d
�d
}	||d
j�}
|
dkr�tj}
n|
dk�rtj}
nd}
dtj|
|	dtjfVq�WdS)z<Get UNIX sockets used by process by parsing 'pfiles' output.Zpfiles)rP�stderrcss|]}|jtjj�VqdS)N)rXrYrPrZ)rlrmrLrLrM�	<genexpr>�sz,Process._get_unix_sockets.<locals>.<genexpr>rzpermission deniedzno such processz%r command error
%srQrNzsockname: AF_UNIXrE�SOCK_STREAM�
SOCK_DGRAMrr}r�r�)�strrSrTrVrWrr[�lowerr
r�r�rr\r^�	enumerate�lstrip�
startswithr]�socketrr�AF_UNIXr�	CONN_NONE)r�r��cmdrcrPr�re�irgrB�typerLrLrM�_get_unix_socketszs0


zProcess._get_unix_sockets�inetcCsPt||jd�}|s(tjd|j|jf�|dkrL|jdd�|j|j�D��|S)N)r�z%s/%sr�r�cSsg|]}tj|��qSrL)rr�)rlZconnrLrLrMrn�sz+Process.net_connections.<locals>.<listcomp>)r�r�)r�r�rIr�r��extendr)r�r�rqrLrLrMr��szProcess.net_connectionsZmmapzpath rss anon lockedzaddr perms path rss anon lockedc$Cs"dd�}|j}g}ytj|j|�}Wn:tk
r^}z|jtjkrLtrLgS�WYdd}~XnXd}x�|D]�}|\}}	}
}}}
}|||	�}|jd�s�yt	j
d||j|f�}WnFtk
r�}z*|jtjkr�d||j|f}d}n�WYdd}~XnX|j||
|||
|f�qjW|�r|j
�|S)NcSs0dt|�dd�jd�t|�dd�jd�fS)Nz%s-%sr�L)�hexr])�start�endrLrLrM�toaddr�sz#Process.memory_maps.<locals>.toaddrF�[z
%s/%s/path/%sT)r�rRZproc_memory_mapsr�r�r�r�r�rrIr�r�r�r�)r�rr�r�r�r�r�r�r�ZaddrsizeZpermr�r(ZanonrCrLrLrM�memory_maps�s4


zProcess.memory_mapscCsttjd|j|jf��S)Nz%s/%s/fd)r�rIr�r�r�)r�rLrLrM�num_fds�szProcess.num_fdscCstjtj|j|j��S)N)r�pctxswrRZproc_num_ctx_switchesr�r�)r�rLrLrM�num_ctx_switches�szProcess.num_ctx_switchesNcCstj|j||j�S)N)rZwait_pidr�r�)r��timeoutrLrLrM�wait�szProcess.wait)r)N)+�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�r�rr�r�r�r�r�r�rUr*r,r�r�r'r�r�rrr�r�r�r�Zmemory_full_infor-r�r�rr�rZnt_mmap_groupedZnt_mmap_extrrrrrLrLrLrMr��sT




""

2r�l)Fr�)r�)rr r�r�rIrrSrY�collectionsrrr}rrrr�rrRr	r
rrr
rrrrrr�_compatrrrrrZ__extra__all__ZgetpagesizerKZAF_LINK�maxsizer�rrZSSLEEP�STATUS_SLEEPINGZSRUN�STATUS_RUNNINGZSZOMB�
STATUS_ZOMBIEZSSTOP�STATUS_STOPPEDZSIDL�STATUS_IDLEZSONPROCZSWAIT�STATUS_WAITINGr�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_NONEr
Z	TCPS_IDLEZ
TCPS_BOUNDr��dictr�r3r7r:r@ZpfullmemrAr��_fieldsrDrNrjrrrorurvrwZdisk_io_countersrr~Znet_io_countersZnet_if_addrsr�r�r�r�r�r�r�r�rLrLrLrM�<module>s�



	.	

'

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists