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

U

Œ=Ý_VDã@sÖdZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
ZddlmZ
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZgZe
 ¡Ze
jZejejej ej!ej"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej0ej1ej2ej3ej4ej5iZ6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@iZAeBddddddddddddZCeBdddddddddZDedd d!d"d#gƒZEed$d%d&d'd(d)d*d+d,gƒZFed-d.d/d0d1gƒZGed2eGjHd3ƒZId4d5„ZJd6d7„ZKd8d9„ZLd:d;„ZMd<d=„ZNd>d?„ZOd@dA„ZPdBdC„ZQe	jRZRejSZSd\dEdF„ZTdGdH„ZUejVZVe
jWZWd]dJdK„ZXdLdM„ZYdNdO„ZZdPdQ„Z[dRdS„Z\e	j]Z]dTdU„Z^dVdW„Z_ej`dXdY„ƒZaGdZd[„d[ebƒZcdS)^zmacOS platform implementation.éN)Ú
namedtupleé)Ú_common)Ú_psposix)Ú_psutil_osx)Ú
_psutil_posix)ÚAccessDenied)Ú	conn_tmap)Úconn_to_ntuple)Ú
isfile_strict)Úmemoize_when_activated)Ú
NoSuchProcess)Úparse_environ_block)Ú
usage_percent)Ú
ZombieProcess)ÚPermissionError)ÚProcessLookupErroréééééééé	é
)Ú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ÚtotalZ	availableÚpercentÚusedÚfreeÚactiveÚinactiveÚwiredÚpmemr)r*r+r,Úpfullmem)Úussc		CsTt ¡\}}}}}}||}||}||8}t|||dd}t||||||||ƒS)z&System virtual memory as a namedtuple.r©Zround_)ÚcextZvirtual_memrr4)	r5r9r:r;r8ZspeculativeZavailr7r6©rAú@/opt/alt/python38/lib64/python3.8/site-packages/psutil/_psosx.pyÚvirtual_memorypsÿrCcCs4t ¡\}}}}}t||dd}t ||||||¡S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr?)r@Zswap_memrrZsswap)r5r7r8ZsinZsoutr6rArArBÚswap_memorysrDcCst ¡\}}}}t||||ƒS)z(Return system CPU times as a namedtuple.)r@Ú	cpu_timesr/)r0r1r2r3rArArBrEsrEcCs:g}t ¡D](}|\}}}}t||||ƒ}| |¡q|S)z(Return system CPU times as a named tuple)r@Ú
per_cpu_timesr/Úappend)ÚretZcpu_tr0r1r2r3ÚitemrArArBrF“srFcCst ¡S)z0Return the number of logical CPUs in the system.)r@Úcpu_count_logicalrArArArBrJsrJcCst ¡S)z1Return the number of physical CPUs in the system.)r@Zcpu_count_physrArArArBÚcpu_count_physical¢srKcCs"t ¡\}}}}}t ||||¡S©N)r@Ú	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsZtrapsrArArBrM§sÿÿrMcCst ¡\}}}t |||¡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
    )r@Úcpu_freqrZscpufreq)ZcurrZmin_Zmax_rArArBrN®srNFc	Csvg}t ¡}|D]`}|\}}}}|dkr,d}|sJtj |¡rtj |¡sJqd}}	t ||||||	¡}
| |
¡q|S)z8Return mounted disk partitions as a list of namedtuples.ZnoneÚN)	r@Údisk_partitionsÚosÚpathÚisabsÚexistsrZ	sdiskpartrG)ÚallÚretlistZ
partitionsÚ	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpathÚntuplerArArBrPÁs ÿrPcCsdzt ¡\}}}Wntk
r(YdSX|dk}|r>tj}n|dkrNtj}n|d}t |||¡S)zReturn battery information.Nréÿÿÿÿé<)r@Úsensors_batteryÚNotImplementedErrorrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)r6ZminsleftZ
power_pluggedZsecsleftrArArBr[Øsr[Úinetc	Cslg}tƒD]\}zt|ƒ |¡}Wntk
r8Yq
Yq
X|r
|D]"}t|ƒ|g}| tj|Ž¡qBq
|S)z System-wide network connections.)ÚpidsÚProcessÚconnectionsr
ÚlistrGrZsconn)ÚkindrHÚpidZconsÚcrArArBÚnet_connectionsòs

recCsœtƒ ¡}i}|D]„}z&t |¡}t |¡}t |¡\}}Wn0tk
rl}z|jtjkr\‚W5d}~XYqXt	t
dƒr‚t
 |¡}t
 ||||¡||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).NÚ	NicDuplex)
Únet_io_countersÚkeysÚ
cext_posixZ
net_if_mtuZnet_if_is_runningZnet_if_duplex_speedÚOSErrorÚerrnoZENODEVÚhasattrrrfZ	snicstats)ÚnamesrHr&ZmtuZisupZduplexZspeedÚerrrArArBÚnet_if_statss




rocCst ¡S)z:The system boot time expressed in seconds since the epoch.)r@Ú	boot_timerArArArBrpsrpc	Cs\g}t ¡}|D]F}|\}}}}}|dkr,q|s2qt ||p>d|pDd||¡}| |¡q|S)z:Return currently connected users as a list of namedtuples.ú~N)r@ÚusersrZsuserrG)	rVÚrawlistrIr0ZttyZhostnameZtstamprcÚntrArArBrr"srrcCsdt ¡}d|kr`ztdƒ ¡| dd¡Wn2tk
r@Yn tk
r^| dd¡YnX|S©Nr)r@r^r_Úcreate_timeÚinsertr
r)ZlsrArArBr^6sr^cCs:zt |¡td}|tjkWStk
r4YdSXdS)Nr%F)r@Úproc_kinfo_oneshotÚkinfo_proc_mapÚSZOMBÚ	Exception)rcÚstrArArBÚ	is_zombieIs
r}cst ˆ¡‡fdd„ƒ}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    csžzˆ|f|ž|ŽWStk
rRt|jƒr@t|j|j|jƒ‚nt|j|jƒ‚YnHtk
rrt|j|jƒ‚Yn(t	j
k
r˜t|j|j|jƒ‚YnXdSrL)rr}rcrÚ_nameÚ_ppidr
rrr@ZZombieProcessError)ÚselfÚargsÚkwargs©ÚfunrArBÚwrapperUs
z wrap_exceptions.<locals>.wrapper)Ú	functoolsÚwraps)r„r…rArƒrBÚwrap_exceptionsQsrˆccs¢z
dVWn’ttfk
rœ}zpt|tƒs6|jtjkrŠz| ¡}Wntk
rZ|‚YqŒX|tjkrzt	|j
|j|jƒ‚qŒt
|j
|jƒ‚n‚W5d}~XYnXdS)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)rjÚRuntimeErrorÚ
isinstancerkZESRCHr%r
rÚ
STATUS_ZOMBIErrcr~rr)Úprocrnr%rArArBÚcatch_zombiees


rc@sleZdZdZddddgZdd„Zeedd	„ƒƒZeed
d„ƒƒZ	dd
„Z
dd„Zedd„ƒZedd„ƒZ
edd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZed d!„ƒZed"d#„ƒZed$d%„ƒZed&d'„ƒZed(d)„ƒZed*d+„ƒZed,d-„ƒZed.d/„ƒZed@d1d2„ƒZed3d4„ƒZedAd6d7„ƒZed8d9„ƒZed:d;„ƒZ ed<d=„ƒZ!ed>d?„ƒZ"d5S)Br_z1Wrapper class around underlying C implementation.rcr~rÚ_cachecCs||_d|_d|_dSrL)rcr~r)r€rcrArArBÚ__init__„szProcess.__init__cCs$t |j¡}t|ƒttƒks t‚|SrL)r@rxrcÚlenryÚAssertionError©r€rHrArArBÚ_get_kinfo_proc‰szProcess._get_kinfo_procc	Cs8t|ƒt |j¡}W5QRXt|ƒttƒks4t‚|SrL)rr@Zproc_pidtaskinfo_oneshotrcrÚpidtaskinfo_mapr‘r’rArArBÚ_get_pidtaskinfo‘s
zProcess._get_pidtaskinfocCs|j |¡|j |¡dSrL)r“Zcache_activater•©r€rArArBÚ
oneshot_enteršszProcess.oneshot_entercCs|j |¡|j |¡dSrL)r“Zcache_deactivater•r–rArArBÚoneshot_exitžszProcess.oneshot_exitcCs(| ¡td}|dk	r|St |j¡S)Nr&)r“ryr@Z	proc_namerc)r€r&rArArBr&¢szProcess.namec
Cs,t|ƒt |j¡W5QR£SQRXdSrL)rr@Zproc_exercr–rArArBÚexe§s
zProcess.exec
Cs,t|ƒt |j¡W5QR£SQRXdSrL)rr@Zproc_cmdlinercr–rArArBÚcmdline¬s
zProcess.cmdlinec
Cs0t|ƒtt |j¡ƒW5QR£SQRXdSrL)rrr@Zproc_environrcr–rArArBÚenviron±s
zProcess.environcCs| ¡td|_|jS)Nr)r“ryrr–rArArBr¶szProcess.ppidc
Cs,t|ƒt |j¡W5QR£SQRXdSrL)rr@Zproc_cwdrcr–rArArBÚcwd»s
zProcess.cwdcCs.| ¡}t |td|td|td¡S)Nrrr©r“rZpuidsry©r€ZrawtuplerArArBÚuidsÀs


ýzProcess.uidscCs.| ¡}t |td|td|td¡S)Nr r!r"rržrArArBÚgidsÈs


ýzProcess.gidscCs>| ¡td}t ¡}z
||WStk
r8YdSXdS)Nr#)r“ryrZget_terminal_mapÚKeyError)r€Ztty_nrZtmaprArArBÚterminalÐs
zProcess.terminalcCs6| ¡}t|td|td|td|tdƒS)Nr)r*r+r,)r•r<r”ržrArArBÚmemory_infoÙs



üzProcess.memory_infocCs"| ¡}t |j¡}t||fŽSrL)r£r@Zproc_memory_ussrcr=)r€Z	basic_memr>rArArBÚmemory_full_infoãszProcess.memory_full_infocCs(| ¡}t |td|tddd¡S)Nr'r(g)r•rZ	pcputimesr”ržrArArBrEés

üzProcess.cpu_timescCs| ¡tdS)Nr$)r“ryr–rArArBrvòszProcess.create_timecCs| ¡td}t |d¡S)Nr.r)r•r”rZpctxsw)r€ZvolrArArBÚnum_ctx_switchesöszProcess.num_ctx_switchescCs| ¡tdS)Nr-)r•r”r–rArArBÚnum_threadsþszProcess.num_threadsc	Csb|jdkrgSg}t|ƒt |j¡}W5QRX|D]&\}}t|ƒr6t ||¡}| |¡q6|Sru)rcrr@Zproc_open_filesrrZ	popenfilerG)r€ÚfilesrsrRÚfdrXrArArBÚ
open_filess

zProcess.open_filesr]c	Cs˜|tkr(td|d dd„tDƒ¡fƒ‚t|\}}t|ƒt |j||¡}W5QRXg}|D]2}|\}}}	}
}}t|||	|
||tƒ}
| 	|
¡q`|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|ƒ‘qSrA)Úrepr)Ú.0ÚxrArArBÚ
<listcomp>sz'Process.connections.<locals>.<listcomp>)
r	Ú
ValueErrorÚjoinrr@Zproc_connectionsrcr
ÚTCP_STATUSESrG)r€rbZfamiliesÚtypesrsrHrIr¨ZfamÚtypeZladdrZraddrr%rtrArArBr`sÿ
ÿzProcess.connectionsc
Cs:|jdkrdSt|ƒt |j¡W5QR£SQRXdSru)rcrr@Zproc_num_fdsr–rArArBÚnum_fdss

zProcess.num_fdsNcCst |j||j¡SrL)rZwait_pidrcr~)r€ZtimeoutrArArBÚwait&szProcess.waitc
Cs,t|ƒt |j¡W5QR£SQRXdSrL)rriÚgetpriorityrcr–rArArBÚnice_get*s
zProcess.nice_getc
Cs.t|ƒt |j|¡W5QR£SQRXdSrL)rriÚsetpriorityrc)r€ÚvaluerArArBÚnice_set/s
zProcess.nice_setcCs| ¡td}t |d¡S)Nr%ú?)r“ryÚ
PROC_STATUSESÚget)r€ÚcoderArArBr%4szProcess.statuscCs<t |j¡}g}|D]"\}}}t |||¡}| |¡q|SrL)r@Zproc_threadsrcrZpthreadrG)r€rsrVZ	thread_idÚutimeZstimerXrArArBÚthreads:szProcess.threads)r])N)#Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__rrˆrr“r•r—r˜r&r™ršr›rrœrŸr r¢r£r¤rErvr¥r¦r©r`r³r´r¶r¹r%r¿rArArArBr_sr









	









r_)F)r])drÃÚ
contextlibrkr†rQÚcollectionsrrOrrrr@rrirr	r
rrr
rrrZ_compatrrZ__extra__all__ZgetpagesizeZPAGESIZEZAF_LINKZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZ
TCPS_SYN_SENTZ
CONN_SYN_SENTZTCPS_SYN_RECEIVEDZ
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_NONEr°ZSIDLZSTATUS_IDLEZSRUNZSTATUS_RUNNINGZSSLEEPZSTATUS_SLEEPINGZSSTOPZSTATUS_STOPPEDrzr‹r»Údictryr”r/r4r<Ú_fieldsr=rCrDrErFrJrKrMrNZ
disk_usageZdisk_io_countersrPr[rgZnet_if_addrsrerorprrr^Z
pid_existsr}rˆÚcontextmanagerrÚobjectr_rArArArBÚ<module>sìôûõø
ÿÿ




Back to Directory File Manager