Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/psutil/__pycache__/_pssunos.cpython-38.opt-1.pyc

U

=_c@sLdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddl
mZddl
m
Zdd	l
mZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!dddgZ"e#Z$ej%Z%ej&dkZ'dZ(dZ)ej*ej+ej,ej-ej.ej/ej0ej1ej2ej3ej4ej-ej5ej6iZ7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIejJejKejLejMejNejOejPe(ejQe)iZReSddd d!d"d#d$d%d&d'd(d)d*ZTed+d,d-d.d/gZUed0d,d-d1d2gZVed3d4d5d6d7d8gZWed9d:d;gZXeXZYed<d=d:d>d?gZZed@dAdB[eZj\Z]dCdDZ^dEdFZ_dGdHZ`dIdJZadKdLZbdMdNZcdOdPZdejeZeejfZfdedRdSZgejhZhejiZidfdUdVZjdWdXZkdYdZZld[d\Zmd]d^Znd_d`ZodadbZpGdcddddeqZrdS)gz'Sun OS Solaris platform implementation.N)
namedtuple)AF_INET)_common)_psposix)
_psutil_posix)
_psutil_sunos)AccessDenied)AF_INET6)debug)get_procfs_path)
isfile_strict)memoize_when_activated)
NoSuchProcess)sockfam_to_enum)socktype_to_enum)
usage_percent)
ZombieProcess)b)FileNotFoundError)PermissionError)ProcessLookupError)PY3	CONN_IDLE
CONN_BOUNDZPROCFS_PATHlZIDLEZBOUND	
)ppidrssvmscreate_timenicenum_threadsstatusttynruideuidgidegid	scputimesusersystemZidleZiowait	pcputimes
children_userchildren_systemsvmemtotalZ	availablepercentusedfreepmemr&r'
pmmap_groupedpathZ	anonymouslocked	pmmap_extzaddr perms  cCsFtdt}tdt}}||}t||dd}t|||||S)zReport virtual memory metrics.
SC_PHYS_PAGESSC_AVPHYS_PAGESrZround_)ossysconf	PAGE_SIZErr7)r8r;Zavailr:r9rHB/opt/alt/python38/lib64/python3.8/site-packages/psutil/_pssunos.pyvirtual_memory{s
rJc
	Cs
t\}}tjddtjdddgtjd}|\}}trL|	t
jj}|j
dkrdtd|j
|d	d
d}|stdd}}|D]D}|}|d
d\}	}
|tt|	d7}|tt|
d7}q||}t||d
d}t|||||t|tS)zReport swap memory metrics.z/usr/bin/envzPATH=/usr/sbin:/sbin:%sPATHZswapz-l)stdoutrz'swap -l' failed (retcode=%s)
rNzno swap device(s) configuredrrirD)cextZswap_mem
subprocessPopenrEenvironPIPEcommunicaterdecodesysrLencoding
returncodeRuntimeErrorstripsplitintrrZsswaprG)
ZsinZsoutprLstderrlinesr8r;linetfr:r9rHrHrIswap_memorys:
rbcCst}tddt|DS)z-Return system-wide CPU times as a named tuplecSsg|]}t|qSrH)sum.0xrHrHrI
<listcomp>szcpu_times.<locals>.<listcomp>)rN
per_cpu_timesr1zipretrHrHrI	cpu_timessrlcCst}dd|DS)z5Return system per-CPU times as a list of named tuplescSsg|]}t|qSrH)r1rdrHrHrIrgsz!per_cpu_times.<locals>.<listcomp>)rNrhrjrHrHrIrhsrhcCs(ztdWStk
r"YdSXdS)z0Return the number of logical CPUs in the system.SC_NPROCESSORS_ONLNN)rErF
ValueErrorrHrHrHrIcpu_count_logicalsrocCstS)z1Return the number of physical CPUs in the system.)rNZcpu_count_physrHrHrHrIcpu_count_physicalsrpcCs$t\}}}}d}t||||S)z*Return various CPU stats as a named tuple.r)rN	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsyscallsZtrapsZsoft_interruptsrHrHrIrqs

rqFcCsg}t}|D]}|\}}}}|dkr,d}|s~zt|js@WqWn:tk
r|}ztd||fWYqW5d}~XYnXd}	}
t|||||	|
}||q|S)zReturn system disk partitions.Znonezskipping %r: %rN)	rNdisk_partitions
disk_usager8OSErrorrrZ	sdiskpartappend)allretlistZ
partitions	partitionZdeviceZ
mountpointZfstypeZoptserrZmaxfileZmaxpathZntuplerHrHrIrss(
rsc
Cstj}|dkr|dd||krFtd|ddd|Dftj|\}}t|}t}|D]}|\}}	}
}}}
}|	|krqh|
|krqh|	t	t
fkr|rtj|}|rtj|}t|
}
t
|	}	t|
}
|dkrt||	|
|||
|}nt||	|
|||
}||qht|S)zReturn 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|qSrH)reprrdrHrHrIrgsz#net_connections.<locals>.<listcomp>)rZ	conn_tmapcopypoprnjoinrNnet_connectionssetrr
addrTCP_STATUSESrrZsconnpconnaddlist)kind_pidZcmapZfamiliestypesrawlistrkitemfdZfamZtype_ZladdrZraddrr+pidntrHrHrIrs:



rcCsRt}|D]<\}}|\}}}}ttdr8t|}t||||||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).	NicDuplex)rNnet_if_statsitemshasattrrrZ	snicstats)rknamerZisupZduplexZspeedZmturHrHrIr!s

rcCstS)z:The system boot time expressed in seconds since the epoch.)rN	boot_timerHrHrHrIr1srcCs\g}t}d}|D]B}|\}}}}}}	|s.q||kr:d}t|||||	}
||
q|S)z:Return currently connected users as a list of namedtuples.)z:0.0z:0	localhost)rNusersrZsuserrv)rxrrrr2ttyZhostnameZtstampZuser_processrrrHrHrIr6srcCsddtttDS)z7Returns a list of PIDs currently running on the system.cSsg|]}|rt|qSrH)isdigitr[rdrHrHrIrgPszpids.<locals>.<listcomp>)rElistdirrrrHrHrHrIpidsNsrcCs
t|S)z&Check for the existence of a unix pid.)r
pid_exists)rrHrHrIrSsrcstfdd}|S)zCall callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c	sz|f||WSttfk
rVt|js@t|j|jnt|j|j|jYn\tk
rvt	|j|jYn<t
k
r|jdkrdtkrt	|j|jnYnXdSNr)rrrrr_namer_ppidrr	rur)selfargskwargsfunrHrIwrapper\s


z wrap_exceptions.<locals>.wrapper)	functoolswraps)rrrHrrIwrap_exceptionsXsrc@seZdZdZdddddgZddZd	d
ZddZd
dZe	e
ddZe	e
ddZe	e
ddZ
e	ddZe	ddZe	ddZe	ddZe	ddZe	dd Ze	d!d"Ze	d#d$Ze	d%d&Ze	d'd(Ze	d)d*Ze	d+d,Ze	d-d.Ze	d/d0Ze	d1d2Ze	d3d4ZeZe	d5d6Ze	d7d8Z e	d9d:Z!d;d<Z"e	dLd>d?Z#e$d@dAZ%e$d@dBZ&e	dCdDZ'e	dEdFZ(e	dGdHZ)e	dMdJdKZ*dIS)NProcessz1Wrapper class around underlying C implementation.rrr_procfs_path_cachecCs||_d|_d|_t|_dSN)rrrrr)rrrHrHrI__init__yszProcess.__init__cCstd|j|jfdS)z+Raise NSP if the process disappeared on us.%s/%sN)rEstatrrrrHrHrI
_assert_aliveszProcess._assert_alivecCs(|j||j||j|dSr)_proc_name_and_argsZcache_activate_proc_basic_info
_proc_credrrHrHrI
oneshot_enterszProcess.oneshot_entercCs(|j||j||j|dSr)rZcache_deactivaterrrrHrHrIoneshot_exitszProcess.oneshot_exitcCst|j|jSr)rNZproc_name_and_argsrrrrHrHrIrszProcess._proc_name_and_argscCs@|jdkr,tjd|j|jfs,t|jt|j|j}|S)Nrz%s/%s/psinfo)rrEr>existsrr	rNZproc_basic_info)rrkrHrHrIrs

zProcess._proc_basic_infocCst|j|jSr)rNZ	proc_credrrrrHrHrIrszProcess._proc_credcCs|dSr)rrrHrHrIrszProcess.namecCs:ztd|j|jfWStk
r,YnX|dS)Nz%s/%s/path/a.outrr)rEreadlinkrrrucmdlinerrHrHrIexeszProcess.execCs|ddS)NrrA)rrZrrHrHrIrszProcess.cmdlinecCst|j|jSr)rNZproc_environrrrrHrHrIrQszProcess.environcCs|tdS)Nr(r
proc_info_maprrHrHrIr(szProcess.create_timecCs|tdS)Nr*rrrHrHrIr*szProcess.num_threadscCs|tdS)Nr)rrrHrHrInice_getszProcess.nice_getcCs&|jdkrt|j|jt|j|S)N)rr)rr	r
cext_posixsetpriority)rvaluerHrHrInice_sets
zProcess.nice_setcCs|td|_|jS)Nr%)rrrrrHrHrIr%szProcess.ppidcCs`z|\}}}}}}Wn8tk
rP|td}|td}d}YnXt|||S)Nr-r.rr	rrrZpuids)rreal	effectivesaved_rHrHrIuidss
zProcess.uidscCs`z|\}}}}}}Wn8tk
rP|td}|td}d}YnXt|||S)Nr/r0r)rrrrrrHrHrIgidss
zProcess.gidsc
CsZzt|j|j}Wn:tk
rN}z|jtjkr<ts<d}nW5d}~XYnXtj	|S)N)rrr)
rNZproc_cpu_timesrrruerrno	EOVERFLOW	IS_64_BITrr4)rtimesrzrHrHrIrlszProcess.cpu_timescCst|j|jSr)rNZproc_cpu_numrrrrHrHrIcpu_numszProcess.cpu_numc	Cs||j}d}t|td}|tjkrldD]>}ztd||j|fWSt	k
rhd}Yq,Yq,Xq,|rx|
dS)NFr,)rrrz
%s/%d/path/%dT)rrrrrNZPRNODEVrErrrr)rprocfs_path
hit_enoentrrfrHrHrIterminals 

zProcess.terminalcCsL|j}ztd||jfWStk
rFtd||jfYdSXdS)Nz%s/%s/path/cwdr)rrErrrr)rrrHrHrIcwdszProcess.cwdcCs2|}|tdd}|tdd}t||S)Nr&ir')rrr<)rrkr&r'rHrHrImemory_info#szProcess.memory_infocCs|td}t|dS)Nr+?)rr
PROC_STATUSESget)rcoderHrHrIr+,szProcess.statusc
Cs|j}g}td||jf}d}|D]}t|}zt|j||\}}WnTtk
r}z6|jtj	krtt
stWY q&|jtjkrd}WYq&W5d}~XYq&Xt
|||}	||	q&|r||S)Nz	%s/%d/lwpFT)rrErrr[rNZquery_process_threadEnvironmentErrorrrrENOENTrZpthreadrvr)
rrrkZtidsrtidutimeZstimerzrrHrHrIthreads2s0zProcess.threadsc	Csg}d}|j}d||jf}td||jfD]h}tj||}tj|r0zt|}Wntk
rxd}Yq0Yq0Xt	|r0|
t|t
|q0|r||S)NFz
%s/%d/pathz%s/%d/fdT)rrrErr>rislinkrrr
rvrZ	popenfiler[r)rrxrrZpathdirrr>filerHrHrI
open_filesSs"
zProcess.open_filesccs(d|}tj|dtjtjd}|\}}trDdd||fD\}}|jdkrd|krht|j|j	d|krt
|j|j	td	||f|d
dd}t
|D]v\}}|}|d
r|ddd}	||d}
|
dkrtj}
n|
dkrtj}
nd}
dtj|
|	dtjfVqdS)z<Get UNIX sockets used by process by parsing 'pfiles' output.z	pfiles %sT)shellrLr]cSsg|]}|tjjqSrH)rTrUrLrVrdrHrHrIrgqsz-Process._get_unix_sockets.<locals>.<listcomp>rzpermission deniedzno such processz%r command error
%srMrNzsockname: AF_UNIXrASOCK_STREAM
SOCK_DGRAMr{rr)rOrPrRrSrrWlowerr	rrrrXrZ	enumeratelstrip
startswithrYsocketrrZAF_UNIXr	CONN_NONE)rrcmdr\rLr]r^ir_r>typerHrHrI_get_unix_socketshs6



zProcess._get_unix_socketsinetcCsPt||jd}|s(td|j|jf|dkrL|dd||jD|S)N)rr)rwr|cSsg|]}tj|qSrH)rr)reZconnrHrHrIrgsz'Process.connections.<locals>.<listcomp>)rrrErrextendr)rrrkrHrHrIconnectionss

zProcess.connectionsZmmapzpath rss anon lockedzaddr perms path rss anon lockedcCs$dd}|j}g}zt|j|}Wn@tk
rd}z"|jtjkrRtsRgWYSW5d}~XYnXd}|D]}|\}}	}
}}}
}|||	}|dszt	
d||j|f}WnFtk
r}z(|jtjkrd||j|f}d}nW5d}~XYnX|||
|||
|fqn|r |
|S)NcSs0dt|dddt|dddfS)Nz%s-%srL)hexrY)startendrHrHrItoaddrsz#Process.memory_maps.<locals>.toaddrF[z
%s/%s/path/%sT)rrNZproc_memory_mapsrrurrrrrErrrvr)rrrrxrrzrrrZaddrsizeZpermrr&Zanonr?rHrHrImemory_mapss6

zProcess.memory_mapscCsttd|j|jfS)Nz%s/%s/fd)lenrErrrrrHrHrInum_fdsszProcess.num_fdscCstjt|j|jSr)rZpctxswrNZproc_num_ctx_switchesrrrrHrHrInum_ctx_switchesszProcess.num_ctx_switchesNcCst|j||jSr)rZwait_pidrr)rZtimeoutrHrHrIwaitszProcess.wait)r)N)+__name__
__module____qualname____doc__	__slots__rrrrrrrrrrrrrQr(r*rrr%rrrlrrrrZmemory_full_infor+rrrrrZnt_mmap_groupedZnt_mmap_extrrrrrHrHrHrIrts







	

	
	






 
 


.

r)F)r{)srrrrErrOrUcollectionsrrrrrrrrrrNr	r
rrr
rrrrrrZ_compatrrrrrZ__extra__all__ZgetpagesizerGZAF_LINKmaxsizerrrZSSLEEPZSTATUS_SLEEPINGZSRUNZSTATUS_RUNNINGZSZOMBZ
STATUS_ZOMBIEZSSTOPZSTATUS_STOPPEDZSIDLZSTATUS_IDLEZSONPROCZSWAITZSTATUS_WAITINGrZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZ
TCPS_SYN_SENTZ
CONN_SYN_SENTZ
TCPS_SYN_RCVDZ
CONN_SYN_RECVZTCPS_FIN_WAIT_1ZCONN_FIN_WAIT1ZTCPS_FIN_WAIT_2ZCONN_FIN_WAIT2ZTCPS_TIME_WAITZCONN_TIME_WAITZTCPS_CLOSEDZ
CONN_CLOSEZTCPS_CLOSE_WAITZCONN_CLOSE_WAITZ
TCPS_LAST_ACKZ
CONN_LAST_ACKZTCPS_LISTENZCONN_LISTENZTCPS_CLOSINGZCONN_CLOSINGZPSUTIL_CONN_NONErZ	TCPS_IDLEZ
TCPS_BOUNDrdictrr1r4r7r<Zpfullmemr=r_fieldsr@rJrbrlrhrorprqZdisk_io_countersrtrsZnet_io_countersZnet_if_addrsrrrrrrrobjectrrHrHrHrI<module>s



	&	

!
%
Back to Directory File Manager