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

U

Œ=Ý_{Hã@sØdZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddl	mZ
ddl	mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlmZddlmZddlmZdgZe e
dƒZ!e e
dƒZ"e e
dƒZ#e $¡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 d!ZKed"d#d$gƒZLeLZMed%d&d'd(d)gƒZNed*d+d,d-d.d/gƒZOd0d1„ZPd2d3„ZQd4d5„ZRd6d7„ZSd8d9„ZTd:d;„ZUd<d=„ZVe
jWZWejXZXdRd?d@„ZYejZZZe"rŠe
j[Z[dSdBdC„Z\dDdE„Z]dFdG„Z^dHdI„Z_dJdK„Z`dLdM„ZadNdO„ZbGdPdQ„dQecƒZddS)TzAIX 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)ÚPY3ZPROCFS_PATHÚproc_threadsÚnet_io_countersÚproc_io_counterséééééé)ÚppidÚrssÚvmsÚcreate_timeÚniceÚnum_threadsÚstatusÚttynrÚpmemr r!Ú	scputimesÚuserÚsystemZidleZiowaitÚsvmemÚtotalZ	availableÚpercentÚusedÚfreecCs4t ¡\}}}}}t|||dd}t|||||ƒS)Nr©Zround_)ÚcextZvirtual_memrr+)r,Zavailr/ZpinnedZinuser-©r2ú@/opt/alt/python38/lib64/python3.8/site-packages/psutil/_psaix.pyÚvirtual_memoryjsr4cCs:t ¡\}}}}||}t||dd}t ||||||¡S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr0)r1Zswap_memrrZsswap)r,r/ZsinZsoutr.r-r2r2r3Úswap_memorypsr5cCst ¡}tdd„t|ŽDƒŽS)z-Return system-wide CPU times as a named tuplecSsg|]}t|ƒ‘qSr2)Úsum©Ú.0Úxr2r2r3Ú
<listcomp>€szcpu_times.<locals>.<listcomp>)r1Ú
per_cpu_timesr(Úzip©Úretr2r2r3Ú	cpu_times}sr?cCst ¡}dd„|DƒS)z5Return system per-CPU times as a list of named tuplescSsg|]}t|Ž‘qSr2)r(r7r2r2r3r:†sz!per_cpu_times.<locals>.<listcomp>)r1r;r=r2r2r3r;ƒsr;cCs(zt d¡WStk
r"YdSXdS)z0Return the number of logical CPUs in the system.ÚSC_NPROCESSORS_ONLNN)ÚosÚsysconfÚ
ValueErrorr2r2r2r3Úcpu_count_logical‰srDcCsrd}tj|dtjtjd}| ¡\}}tr@dd„||fDƒ\}}|jdkrZtd||fƒ‚| ¡ ¡}t	|ƒppdS)Nzlsdev -Cc processorT)ÚshellÚstdoutÚstderrcSsg|]}| tjj¡‘qSr2©ÚdecodeÚsysrFÚencodingr7r2r2r3r:˜sÿz&cpu_count_physical.<locals>.<listcomp>rz%r command error
%s)
Ú
subprocessÚPopenÚPIPEÚcommunicaterÚ
returncodeÚRuntimeErrorÚstripÚ
splitlinesÚlen)ÚcmdÚprFrGZ
processorsr2r2r3Úcpu_count_physical’sÿÿ

rWcCs t ¡\}}}}t ||||¡S)z*Return various CPU stats as a named tuple.)r1Ú	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsr2r2r3rX sÿrXFc	Cshg}t ¡}|D]R}|\}}}}|dkr,d}|s<t|ƒjs<qd}}	t ||||||	¡}
| |
¡q|S)zReturn system disk partitions.ZnoneÚN)r1Údisk_partitionsÚ
disk_usager,rZ	sdiskpartÚappend)ÚallÚretlistZ
partitionsÚ	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpathÚntupler2r2r3rZ°s 
ÿrZéÿÿÿÿcCs¬tj}||kr.td|d dd„|Dƒ¡fƒ‚tj|\}}t |¡}g}|D]X}|\}}	}
}}}
}|	|krnqN|
|krxqNt||	|
|||
t|dkr”|ndd}| |¡qN|S)zˆReturn socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    z+invalid %r kind argument; choose between %sz, cSsg|]}t|ƒ‘qSr2)Úreprr7r2r2r3r:Ùsz#net_connections.<locals>.<listcomp>raN©Úpid)	rZ	conn_tmaprCÚjoinr1Únet_connectionsr	ÚTCP_STATUSESr\)ÚkindÚ_pidZcmapZfamiliesÚtypesÚrawlistr>ÚitemÚfdZfamZtype_ZladdrZraddrr%rdÚntr2r2r3rfÒs(ÿ
ÿrfcCsÜttdœ}tdd„tƒDƒƒ}i}|D]°}t |¡\}}d}d}tjdd|gtjtjd}| 	¡\}	}
t
r€d	d„|	|
fDƒ\}	}
|jdkr¶t 
d
|	¡}|dk	r¶t| d¡ƒ}| d
¡}| |t¡}t ||||¡||<q&|S)z)Get NIC stats (isup, duplex, speed, mtu).)ZFullZHalfcSsg|]}|d‘qS)rr2r7r2r2r3r:ísz net_if_stats.<locals>.<listcomp>rYrz/usr/bin/entstatz-d©rFrGcSsg|]}| tjj¡‘qSr2rHr7r2r2r3r:ûsÿz"Running: (\d+) Mbps.*?(\w+) DuplexNrr)rr
ÚsetÚnet_if_addrsr1Únet_if_statsrLrMrNrOrrPÚreÚsearchÚintÚgroupÚgetrrZ	snicstats)Z
duplex_mapÚnamesr>ÚnameZisupZmtuZduplexZspeedrVrFrGZ	re_resultr2r2r3rrés:ÿÿÿ

ÿ
rrcCst ¡S)z:The system boot time expressed in seconds since the epoch.)r1Ú	boot_timer2r2r2r3rzsrzcCs\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)r1ÚusersrZsuserr\)r^rkr{rlr)ZttyZhostnameZtstampZuser_processrdrnr2r2r3r|sr|cCsdd„t tƒ¡DƒS)z7Returns a list of PIDs currently running on the system.cSsg|]}| ¡rt|ƒ‘qSr2)Úisdigitrur7r2r2r3r:-szpids.<locals>.<listcomp>)rAÚlistdirr
r2r2r2r3Úpids+srcCstj tj tƒt|ƒd¡¡S)z&Check for the existence of a unix pid.Zpsinfo)rAÚpathÚexistsrer
Ústrrcr2r2r3Ú
pid_exists0srƒcst ˆ¡‡fdd„ƒ}|S)zƒCall callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c	s|zˆ|f|ž|ŽWSttfk
rVt|jƒs@t|j|jƒ‚nt|j|j|jƒ‚Yn"tk
rvt	|j|jƒ‚YnXdS©N)
rrrƒrdrÚ_namerÚ_ppidrr)ÚselfÚargsÚkwargs©Úfunr2r3Úwrapper9s
z wrap_exceptions.<locals>.wrapper)Ú	functoolsÚwraps)r‹rŒr2rŠr3Úwrap_exceptions5s
rc@sxeZdZdZdddddgZdd„Zd	d
„Zdd„Zee	d
d„ƒƒZ
ee	dd„ƒƒZedd„ƒZedd„ƒZ
edd„ƒZedd„ƒZedd„ƒZedd„ƒZerªedd„ƒZedAd d!„ƒZed"d#„ƒZed$d%„ƒZed&d'„ƒZed(d)„ƒZed*d+„ƒZed,d-„ƒZed.d/„ƒZed0d1„ƒZed2d3„ƒZeZed4d5„ƒZd6d7„Z ed8d9„ƒZ!ed:d;„ƒZ"edBd=d>„ƒZ#e$rted?d@„ƒZ%d<S)CÚProcessz1Wrapper class around underlying C implementation.rdr…r†Ú_procfs_pathÚ_cachecCs||_d|_d|_tƒ|_dSr„)rdr…r†r
r‘)r‡rdr2r2r3Ú__init__OszProcess.__init__cCs|j |¡|j |¡dSr„)Ú_proc_basic_infoZcache_activateÚ
_proc_cred©r‡r2r2r3Ú
oneshot_enterUszProcess.oneshot_entercCs|j |¡|j |¡dSr„)r”Zcache_deactivater•r–r2r2r3Úoneshot_exitYszProcess.oneshot_exitcCst |j|j¡Sr„)r1Zproc_basic_infordr‘r–r2r2r3r”]szProcess._proc_basic_infocCst |j|j¡Sr„)r1Z	proc_credrdr‘r–r2r2r3r•bszProcess._proc_credcCs$|jdkrdSt |j|j¡ d¡S)NrZswapperú)rdr1Z	proc_namer‘Úrstripr–r2r2r3rygs
zProcess.namecCsÒ| ¡}|sdS|d}tjj|kr€tj |¡sJtj tj | ¡|¡¡}tj |¡rttj |¡rtt 	|tj
¡rt|Stj |¡}tjd 
d¡D]<}tj tj ||¡¡}tj |¡rt 	|tj
¡r|SqdS)NrYrÚPATHú:)ÚcmdlinerAr€ÚsepÚisabsÚabspathreÚcwdÚisfileÚaccessÚX_OKÚbasenameÚenvironÚsplit)r‡rÚexer€Zpossible_exer2r2r3r¨ns*
ÿþÿ
zProcess.execCst |j¡Sr„)r1Z	proc_argsrdr–r2r2r3r‰szProcess.cmdlinecCst |j¡Sr„)r1Zproc_environrdr–r2r2r3r¦szProcess.environcCs| ¡tdS)Nr"©r”Ú
proc_info_mapr–r2r2r3r"‘szProcess.create_timecCs| ¡tdS)Nr$r©r–r2r2r3r$•szProcess.num_threadscCsVt |j¡}g}|D]"\}}}t |||¡}| |¡q|sRt d|j|jf¡|S)Nú%s/%s)	r1rrdrZpthreadr\rAÚstatr‘)r‡rkr^Z	thread_idÚutimeZstimer`r2r2r3ÚthreadsšszProcess.threadsÚinetcCs,t||jd}|s(t d|j|jf¡|S)N)rir«)rfrdrAr¬r‘)r‡rhr>r2r2r3Úconnections«szProcess.connectionscCst |j¡Sr„)Ú
cext_posixÚgetpriorityrdr–r2r2r3Únice_get¸szProcess.nice_getcCst |j|¡Sr„)r±Úsetpriorityrd)r‡Úvaluer2r2r3Únice_set¼szProcess.nice_setcCs| ¡td|_|jS)Nr)r”rªr†r–r2r2r3rÀszProcess.ppidcCs"| ¡\}}}}}}t |||¡Sr„©r•rZpuids)r‡ÚrealÚ	effectiveÚsavedÚ_r2r2r3ÚuidsÅszProcess.uidscCs"| ¡\}}}}}}t |||¡Sr„r·)r‡r»r¸r¹rºr2r2r3ÚgidsÊszProcess.gidscCst |j|j¡}tj|ŽSr„)r1Zproc_cpu_timesrdr‘rZ	pcputimes)r‡r?r2r2r3r?ÏszProcess.cpu_timescCsP| ¡td}|d@d?|d@B}t d¡D]}t |¡j|kr.|Sq.dS)Nr&lüéiÿÿz	/dev/**/*)r”rªÚglobrAr¬Úst_rdev)r‡ZttydevZdevr2r2r3ÚterminalÔs
zProcess.terminalcCsV|j}z t d||jf¡}| d¡WStk
rPt d||jf¡YdSXdS)Nz	%s/%s/cwdú/r«)r‘rAÚreadlinkrdršrr¬)r‡Zprocfs_pathÚresultr2r2r3r¡ßszProcess.cwdcCs2| ¡}|tdd}|tdd}t||ƒS)Nr ir!)r”rªr')r‡r>r r!r2r2r3Úmemory_infoészProcess.memory_infocCs| ¡td}t |d¡S)Nr%ú?)r”rªÚ
PROC_STATUSESrw)r‡Úcoder2r2r3r%òszProcess.statuscCsÄtjddt|jƒgtjtjd}| ¡\}}trFdd„||fDƒ\}}d| ¡kr`t|j|j	ƒ‚t
 d|¡}g}|D]J\}}| ¡}| 
d¡rš|d	d…}| ¡d
kr¨qt| t |t|ƒ¡¡qt|S)Nz/usr/bin/procfilesz-nrocSsg|]}| tjj¡‘qSr2rHr7r2r2r3r:ÿsÿz&Process.open_files.<locals>.<listcomp>zno such processz (\d+): S_IFREG.*\s*.*name:(.*)\nz//rzcannot be retrieved)rLrMr‚rdrNrOrÚlowerrr…rsÚfindallrRÚ
startswithr\rZ	popenfileru)r‡rVrFrGZ	procfilesr^rmr€r2r2r3Ú
open_filesøs*ÿÿ

zProcess.open_filescCs(|jdkrdStt d|j|jf¡ƒS)Nrz%s/%s/fd)rdrTrAr~r‘r–r2r2r3Únum_fdss
zProcess.num_fdscCstjt |j¡ŽSr„)rZpctxswr1Zproc_num_ctx_switchesrdr–r2r2r3Únum_ctx_switchess
ÿzProcess.num_ctx_switchesNcCst |j||j¡Sr„)rZwait_pidrdr…)r‡Ztimeoutr2r2r3ÚwaitszProcess.waitcCsXzt |j¡\}}}}Wn.tk
rFt|jƒs@t|j|jƒ‚‚YnXt ||||¡Sr„)	r1rrdÚOSErrorrƒrr…rZpio)r‡ZrcZwcÚrbÚwbr2r2r3Úio_counterss
zProcess.io_counters)r¯)N)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r“r—r˜rrr”r•ryr¨rr¦r"r$ÚHAS_THREADSr®r°r³r¶rr¼r½r?rÁr¡rÅZmemory_full_infor%rÌrÍrÎrÏÚHAS_PROC_IO_COUNTERSrÓr2r2r2r3rJsv















	



r)F)ra)er×rr¿rArsrLrJÚcollectionsrrYrrrr1rr±rr	r
rrr
rrrrZ_compatrrrrZ__extra__all__ÚhasattrrÙZHAS_NET_IO_COUNTERSrÚZgetpagesizeZ	PAGE_SIZEZAF_LINKZSIDLZSTATUS_IDLEZSZOMBZ
STATUS_ZOMBIEZSACTIVEZSTATUS_RUNNINGZSSWAPZSSTOPZSTATUS_STOPPEDrÇZTCPS_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_NONEZ	CONN_NONErgÚdictrªr'Zpfullmemr(r+r4r5r?r;rDrWrXZdisk_io_countersr[rZrqrrfrrrzr|rrƒrÚobjectrr2r2r2r3Ú<module>sÌ


û	ôø
	

%
Back to Directory File Manager