Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/psutil/__pycache__/_psaix.cpython-311.pyc



]j{HldZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddl	mZ
ddl	mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlmZddlmZddlmZdgZe e
dZ!e e
dZ"e e
dZ#ej$Z%ej&Z&e
j'e
j(e
j)e
j*e
j+e
j,e
j-e
j,e
j.e
j/iZ0e
j1e
j2e
j3e
j4e
j5e
j6e
j7e
j8e
j9e
j:e
j;e
j<e
j=e
j>e
j?e
j@e
jAe
jBe
jCe
jDe
jEe
jFe
jGe
jHiZIeJdddddddd !ZKed"d#d$gZLeLZMed%gd&ZNed'gd(ZOd)ZPd*ZQd+ZRd,ZSd-ZTd.ZUd/ZVe
jWZWejXZXd<d1ZYejZZZe"re
j[Z[d=d3Z\d4Z]d5Z^d6Z_d7Z`d8Zad9ZbGd:d;ecZddS)>zAIX platform implementation.N)
namedtuple)_common)_psposix)_psutil_aix)
_psutil_posix)AccessDenied)conn_to_ntuple)get_procfs_path)memoize_when_activated)NIC_DUPLEX_FULL)NIC_DUPLEX_HALF)NIC_DUPLEX_UNKNOWN)
NoSuchProcess)
usage_percent)
ZombieProcess)FileNotFoundError)PermissionError)ProcessLookupError)PY3PROCFS_PATHproc_threadsnet_io_countersproc_io_counters)ppidrssvmscreate_timenicenum_threadsstatusttynrpmemr"r#	scputimes)usersystemidleiowaitsvmem)total	availablepercentusedfreectj\}}}}}t||z
|d}t|||||S)Nrround_)cextvirtual_memrr/)r0availr4pinnedinuser2s      o/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib64/python3.11/site-packages/psutil/_psaix.pyvirtual_memoryr>jsI(,(8(:(:%E5$UU]U1===Gwt444ctj\}}}}||z
}t||d}tj||||||S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr6)r8swap_memrrsswap)r0r4sinsoutr3r2s      r=swap_memoryrEpsM!]__E4d4<DD%222G=dGS$???r?c\tj}tdt|DS)z-Return system-wide CPU times as a named tuplec,g|]}t|S)sum.0xs  r=
<listcomp>zcpu_times.<locals>.<listcomp>s111!s1vv111r?)r8
per_cpu_timesr*ziprets r=	cpu_timesrR}s.



C11sCy11122r?c@tj}d|DS)z5Return system per-CPU times as a list of named tuplesc g|]}t|SrH)r*rJs  r=rMz!per_cpu_times.<locals>.<listcomp>s'''aIqM'''r?)r8rNrPs r=rNrNs$



C''3''''r?cN	tjdS#t$rYdSwxYw)z0Return the number of logical CPUs in the system.SC_NPROCESSORS_ONLNN)ossysconf
ValueErrorrHr?r=cpu_count_logicalrZs:z/000tts
$$chd}tj|dtjtj}|\}}trd||fD\}}|jdkrt
|d||}t|pdS)Nzlsdev -Cc processorT)shellstdoutstderrcVg|]&}|tjj'SrHdecodesysr]encodingrJs  r=rMz&cpu_count_physical.<locals>.<listcomp>s9555((3:#677555r?rz command error
)

subprocessPopenPIPEcommunicater
returncodeRuntimeErrorstrip
splitlineslen)cmdpr]r^
processorss     r=cpu_count_physicalrps
CD *	1	1	1A]]__NFF
555$*F#3555|qSSS&&ABBB**,,Jz??"d"r?c`tj\}}}}tj||||S)z*Return various CPU stats as a named tuple.)r8	cpu_statsr	scpustats)ctx_switches
interruptssoft_interruptssyscallss    r=rrrrs6:>.:J:J7L*oxj/8===r?Fc	g}tj}|D]Z}|\}}}}|dkrd}|st|js(dx}}	t	j||||||	}
||
[|S)zReturn system disk partitions.noneN)r8disk_partitions
disk_usager0r	sdiskpartappend)allretlist
partitions	partitiondevice
mountpointfstypeoptsmaxfilemaxpathntuples           r=r{r{sG%''J

	+4(
FDVF	j))/
  '"6:vt#*G55vNr?ctj}||vr2td|ddd|Dtj|\}}t	j|}g}|D]O}|\}}	}
}}}
}|	|vr|
|vrt
||	|
|||
t|dkr|nd}||P|S)zReturn socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    zinvalid z kind argument; choose between z, c,g|]}t|SrH)reprrJs  r=rMz#net_connections.<locals>.<listcomp>s,C,C,CT!WW,C,C,Cr?rNpid)	r	conn_tmaprYjoinr8net_connectionsr
TCP_STATUSESr~)kind_pidcmapfamiliestypesrawlistrQitemfdfamtype_laddrraddrr'rnts                r=rrs
D4j DD$)),C,Cd,C,C,C"D"D"DFGG	G'-OHe"4((G
C481Cufch
BUE5&(TRZZccTKKK

2Jr?cttd}tdtD}i}|D]	}t	j|\}}d}d}t
jdd|gtjtj}|	\}	}
trd|	|
fD\}	}
|jdkrNtj
d	|	}|7t|d}|d}||t"}t%j||||||<|S)
z)Get NIC stats (isup, duplex, speed, mtu).)FullHalfcg|]
}|dS)rrHrJs  r=rMz net_if_stats.<locals>.<listcomp>s...!1...r?rzrz/usr/bin/entstatz-dr]r^cVg|]&}|tjj'SrHr`rJs  r=rMz net_if_stats.<locals>.<listcomp>9999"# hhsz':;;999r?z"Running: (\d+) Mbps.*?(\w+) DuplexNrr)r
rsetnet_if_addrsr8net_if_statsrdrerfrgrrhresearchintgroupgetrr	snicstats)
duplex_mapnamesrQnameisupmtuduplexspeedrnr]r^	re_results            r=rrs_))++J..|~~...//E
C@@%d++	c
0$=$.OJO
M
M
M	999(.'7999NFF<1	5v??I$IOOA..//"++(:;;%dFE3??D		Jr?c(tjS)z:The system boot time expressed in seconds since the epoch.)r8	boot_timerHr?r=rrs>r?cg}tj}d}|D]A}|\}}}}}}	|s||vrd}tj|||||	}
||
B|S)z:Return currently connected users as a list of namedtuples.)z:0.0z:0	localhost)r8usersrsuserr~)rrrrr+ttyhostnametstampuser_processrrs           r=rrsGjllGI

9=6c8V\3	y  "H
]4h
<
<rNr?cVdtjtDS)z7Returns a list of PIDs currently running on the system.cTg|]%}|t|&SrH)isdigitrrJs  r=rMzpids.<locals>.<listcomp>-s+IIIqQYY[[ICFFIIIr?)rWlistdirrrHr?r=pidsr+s&IIBJ'8'899IIIIr?ctjtjt	t|dS)z&Check for the existence of a unix pid.psinfo)rWpathexistsrrstrrs r=
pid_existsr0s4
7>>"',,'8'8#c((HMMNNNr?cFtjfd}|S)zCall callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c*	|g|Ri|S#ttf$rOt|jst	|j|jt
|j|j|jt$rt|j|jwxYwN)
rrrrr_namer_ppidrr	)selfargskwargsfuns   r=wrapperz wrap_exceptions.<locals>.wrapper9s	53t-d---f---!#56	F	F	Fdh''
F#DHdj999#DHdj$*EEE	5	5	5tx444	5s
BB)	functoolswraps)rrs` r=wrap_exceptionsr5s:_S55555Nr?cveZdZdZgdZdZdZdZee	dZ
ee	dZedZed	Z
ed
ZedZedZed
ZeredZed!dZedZedZedZedZedZedZedZedZedZeZedZdZ edZ!edZ"ed"dZ#e$r
ed Z%dSdS)#Processz1Wrapper class around underlying C implementation.)rrr_procfs_path_cachecV||_d|_d|_t|_dSr)rrrrr)rrs  r=__init__zProcess.__init__Os+

+--r?cn|j||j|dSr)_proc_basic_infocache_activate
_proc_credrs r=
oneshot_enterzProcess.oneshot_enterUs5,,T222&&t,,,,,r?cn|j||j|dSr)rcache_deactivaterrs r=oneshot_exitzProcess.oneshot_exitYs5..t444((.....r?c@tj|j|jSr)r8proc_basic_inforrrs r=rzProcess._proc_basic_info]s#DHd.?@@@r?c@tj|j|jSr)r8	proc_credrrrs r=rzProcess._proc_credbs~dh(9:::r?c|jdkrdStj|j|jdS)Nrswapper)rr8	proc_namerrstriprs r=rzProcess.namegs78q==9~dh(9::AA&IIIr?c|}|sdS|d}tjj|vrtj|sOtjtj||}tj|r@tj|r!tj	|tj
r|Stj|}tjd
dD]}tjtj||}tj|r#tj	|tj
r|cSdS)NrzrPATH:)cmdlinerWrsepisabsabspathrcwdisfileaccessX_OKbasenameenvironsplit)rrexerpossible_exes     r=rzProcess.exens[,,..	2aj
7;#7==%%
Egoobgll488::s&C&CDD

c""
GNN3''
Ic27++

'""3''CJv&,,S11	$	$D7??27<<c+B+BCCL|,,
$IlBG44
$####rr?c4tj|jSr)r8	proc_argsrrs r=rzProcess.cmdlines~dh'''r?c4tj|jSr)r8proc_environrrs r=rzProcess.environs ***r?cL|tdS)Nr$r
proc_info_maprs r=r$zProcess.create_time$$&&}]'CDDr?cL|tdS)Nr&rrs r=r&zProcess.num_threadsr
r?ctj|j}g}|D]1\}}}tj|||}||2|s#t
j|jd|j|S)N/)	r8rrrpthreadr~rWstatr)rrr	thread_idutimestimers       r=threadszProcess.threadss'11GG+2
'
''	5% E5AAv&&&&
A4#4#4#4dhh?@@@Nr?inetc|t||j}|s#tj|jd|j|S)N)rr
)rrrWrr)rrrQs   r=connectionszProcess.connectionssGd222	=Gt000$((;<<<
r?c4tj|jSr)
cext_posixgetpriorityrrs r=nice_getzProcess.nice_gets%dh///r?c6tj|j|Sr)rsetpriorityr)rvalues  r=nice_setzProcess.nice_sets%dh666r?cd|td|_|jS)Nr!)rr	rrs r=r!zProcess.ppids'**,,]6-BC
zr?cd|\}}}}}}tj|||Srrrpuids)rreal	effectivesaved_s     r=uidszProcess.uidss2*.//*;*;'i1a}T9e444r?cd|\}}}}}}tj|||Srr!)rr&r#r$r%s     r=gidszProcess.gidss2*.//*;*;'1ay%}T9e444r?c\tj|j|j}t	j|Sr)r8proc_cpu_timesrrr	pcputimes)rrRs  r=rRzProcess.cpu_timess''$2CDD	 ),,r?c|td}|dzdz	|dzz}tjdD]#}tj|j|kr|cS$dS)Nr(liz	/dev/**/*)rr	globrWrst_rdev)rttydevdevs   r=terminalzProcess.terminalsx&&((w)?@//B66F?K9[))		Cws||#v--


.tr?c|j}	tj|d|jd}|dS#t
$r"tj|d|jYdSwxYw)Nr
z/cwd)rrWreadlinkrrrr)rprocfs_pathresults   r=rzProcess.cwds~'	[TXXX!FGGF==%%% 			G{{{DHH566644	s3=(A)(A)c|}|tddz}|tddz}t||S)Nr"ir#)rr	r))rrQr"r#s    r=memory_infozProcess.memory_infosI##%%-&'$.-&'$.C~~r?c|td}t|dS)Nr'?)rr	
PROC_STATUSESr)rcodes  r=r'zProcess.statuss3$$&&}X'>?  s+++r?c	tjddt|jgtjtj}|\}}trd||fD\}}d|vrt|j|j	tjd|}g}|D]\}}|}|
dr
|dd}|d	krQ|tj|t#||S)
Nz/usr/bin/procfilesz-nrcVg|]&}|tjj'SrHr`rJs  r=rMz&Process.open_files.<locals>.<listcomp>rr?zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rdrerrrfrgrlowerrrrfindallrj
startswithr~r	popenfiler)rrnr]r^	procfilesrrrs        r=
open_fileszProcess.open_filess<
2D#dh--H$.OJO
M
M
M	999(.'7999NFF..$*555JBFKK	!	=	=HB::<<Dt$$
 ABBxzz||444NN7,T3r77;;<<<<r?c~|jdkrdSttj|jd|jdS)Nrr
z/fd)rrlrWrrrs r=num_fdszProcess.num_fdss>8q==12:D,=,=,=txxxHIIJJJr?cLtjtj|jSr)rpctxswr8proc_num_ctx_switchesrrs r=num_ctx_switcheszProcess.num_ctx_switchess!~

'
1
13	3r?NcBtj|j||jSr)rwait_pidrr)rtimeouts  r=waitzProcess.waits 7DJ???r?c	tj|j\}}}}n=#t$r0t	|jst|j|jwxYwtj||||Sr)	r8rrOSErrorrrrrpio)rrcwcrbwbs     r=io_counterszProcess.io_counterss
!%!6tx!@!@BBB


"$(++>'$*===
;r2r2...s	!:A)rr)&__name__
__module____qualname____doc__	__slots__rrrrrrrrrrrr$r&HAS_THREADSrrrrr!r'r)rRr3rr9memory_full_infor'rErGrKrOHAS_PROC_IO_COUNTERSrWrHr?r=rrJs<;;CCCI...---///AA_A;;_;JJ_J_4((_(++_+EE_EEE_E			
	 


_
00_077_7_55_555_5--_-___#,,_,
,KK_K
33_3@@@_@/			/		/
		/		/		///r?r)F)r)er[rr/rWrrdrbcollectionsrrzrrrr8rrr	r
rrr
rrrrr_compatrrrr__extra__all__hasattrr]HAS_NET_IO_COUNTERSr_getpagesize	PAGE_SIZEAF_LINKSIDLSTATUS_IDLESZOMB
STATUS_ZOMBIESACTIVESTATUS_RUNNINGSSWAPSSTOPSTATUS_STOPPEDr<TCPS_ESTABLISHEDCONN_ESTABLISHED
TCPS_SYN_SENT
CONN_SYN_SENT
TCPS_SYN_RCVD
CONN_SYN_RECVTCPS_FIN_WAIT_1CONN_FIN_WAIT1TCPS_FIN_WAIT_2CONN_FIN_WAIT2TCPS_TIME_WAITCONN_TIME_WAITTCPS_CLOSED
CONN_CLOSETCPS_CLOSE_WAITCONN_CLOSE_WAIT
TCPS_LAST_ACK
CONN_LAST_ACKTCPS_LISTENCONN_LISTENTCPS_CLOSINGCONN_CLOSINGPSUTIL_CONN_NONE	CONN_NONErdictr	r)pfullmemr*r/r>rErRrNrZrprrdisk_io_countersr|r{rrrrrrrrrobjectrrHr?r=<module>rs#"								



""""""!!!!!!))))))!!!!!!######$$$$$$++++++$$$$$$$$$$$$''''''""""""""""""""""""&&&&&&$$$$$$'''''' gdN++gd$566wt%788"J"$$	

	Iw"J%L'(J&J&
	73--'0'0/g('1-g)w+7,
	
			





"z&5%.))J{$H$H$HII	
7MMMNN555@@@333(((###===(

 
8&+*O.J
0JJJ
OOO
*^/^/^/^/^/f^/^/^/^/^/r?
Back to Directory File Manager