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

U

=_VD@sdZddlZddlZddlZddlZddlmZddlmZddlm	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#gZEed$d%d&d'd(d)d*d+d,gZFed-d.d/d0d1gZGed2eGjHd3ZId4d5ZJd6d7ZKd8d9ZLd:d;ZMd<d=ZNd>d?ZOd@dAZPdBdCZQe	jRZRejSZSd\dEdFZTdGdHZUejVZVe
jWZWd]dJdKZXdLdMZYdNdOZZdPdQZ[dRdSZ\e	j]Z]dTdUZ^dVdWZ_ej`dXdYZaGdZd[d[ebZcdS)^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	
)ppidruideuidsuidrgidegidsgidttynrctimestatusname)cpuutimecpustimerssvmspfaultspageins
numthreadsvolctxsw	scputimesusernicesystemidlesvmemtotalZ	availablepercentusedfreeactiveinactivewiredpmemr)r*r+r,pfullmem)ussc		CsTt\}}}}}}||}||}||8}t|||dd}t||||||||S)z&System virtual memory as a namedtuple.rZround_)cextZvirtual_memrr4)	r5r9r:r;r8ZspeculativeZavailr7r6rA@/opt/alt/python38/lib64/python3.8/site-packages/psutil/_psosx.pyvirtual_memorypsrCcCs4t\}}}}}t||dd}t||||||S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr?)r@Zswap_memrrZsswap)r5r7r8ZsinZsoutr6rArArBswap_memorysrDcCst\}}}}t||||S)z(Return system CPU times as a namedtuple.)r@	cpu_timesr/)r0r1r2r3rArArBrEsrEcCs:g}tD](}|\}}}}t||||}||q|S)z(Return system CPU times as a named tuple)r@
per_cpu_timesr/append)retZcpu_tr0r1r2r3itemrArArBrFsrFcCstS)z0Return the number of logical CPUs in the system.)r@cpu_count_logicalrArArArBrJsrJcCstS)z1Return the number of physical CPUs in the system.)r@Zcpu_count_physrArArArBcpu_count_physicalsrKcCs"t\}}}}}t||||SN)r@	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallsZtrapsrArArBrMsrMcCst\}}}t|||gS)zReturn 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_rArArBrNsrNFc	Csvg}t}|D]`}|\}}}}|dkr,d}|sJtj|rtj|sJqd}}	t||||||	}
||
q|S)z8Return mounted disk partitions as a list of namedtuples.ZnoneN)	r@disk_partitionsospathisabsexistsrZ	sdiskpartrG)allretlistZ
partitions	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpathntuplerArArBrPs rPcCsdzt\}}}Wntk
r(YdSX|dk}|r>tj}n|dkrNtj}n|d}t|||S)zReturn battery information.Nr<)r@sensors_batteryNotImplementedErrorrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)r6ZminsleftZ
power_pluggedZsecsleftrArArBr[sr[inetc	Cslg}tD]\}zt||}Wntk
r8Yq
Yq
X|r
|D]"}t||g}|tj|qBq
|S)z System-wide network connections.)pidsProcessconnectionsr
listrGrZsconn)kindrHpidZconscrArArBnet_connectionss

recCst}i}|D]}z&t|}t|}t|\}}Wn0tk
rl}z|jtjkr\W5d}~XYqXt	t
drt
|}t
||||||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).N	NicDuplex)
net_io_counterskeys
cext_posixZ
net_if_mtuZnet_if_is_runningZnet_if_duplex_speedOSErrorerrnoZENODEVhasattrrrfZ	snicstats)namesrHr&ZmtuZisupZduplexZspeederrrArArBnet_if_statss




rocCstS)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)	rVrawlistrIr0ZttyZhostnameZtstamprcntrArArBrr"srrcCsdt}d|kr`ztd|ddWn2tk
r@Yn tk
r^|ddYnX|SNr)r@r^r_create_timeinsertr
r)ZlsrArArBr^6sr^cCs:zt|td}|tjkWStk
r4YdSXdS)Nr%F)r@proc_kinfo_oneshotkinfo_proc_mapSZOMB	Exception)rcstrArArB	is_zombieIs
r}cstfdd}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    csz|f||WStk
rRt|jr@t|j|j|jnt|j|jYnHtk
rrt|j|jYn(t	j
k
rt|j|j|jYnXdSrL)rr}rcr_name_ppidr
rrr@ZZombieProcessError)selfargskwargsfunrArBwrapperUs
z wrap_exceptions.<locals>.wrapper)	functoolswraps)rrrArrBwrap_exceptionsQsrccsz
dVWnttfk
r}zpt|ts6|jtjkrz|}Wntk
rZ|YqX|tjkrzt	|j
|j|jqt
|j
|jnW5d}~XYnXdS)zThere 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@sleZdZdZddddgZddZeedd	Zeed
dZ	dd
Z
ddZeddZeddZ
eddZeddZeddZeddZeddZeddZed d!Zed"d#Zed$d%Zed&d'Zed(d)Zed*d+Zed,d-Zed.d/Zed@d1d2Zed3d4ZedAd6d7Zed8d9Zed:d;Z ed<d=Z!ed>d?Z"d5S)Br_z1Wrapper class around underlying C implementation.rcr~r_cachecCs||_d|_d|_dSrL)rcr~r)rrcrArArB__init__szProcess.__init__cCst|j}|SrL)r@rxrcrrHrArArB_get_kinfo_procszProcess._get_kinfo_procc	Cs$t|t|j}W5QRX|SrL)rr@Zproc_pidtaskinfo_oneshotrcrrArArB_get_pidtaskinfos
zProcess._get_pidtaskinfocCs|j||j|dSrL)rZcache_activaterrrArArB
oneshot_enterszProcess.oneshot_entercCs|j||j|dSrL)rZcache_deactivaterrrArArBoneshot_exitszProcess.oneshot_exitcCs(|td}|dk	r|St|jS)Nr&)rryr@Z	proc_namerc)rr&rArArBr&szProcess.namec
Cs,t|t|jW5QRSQRXdSrL)rr@Zproc_exercrrArArBexes
zProcess.exec
Cs,t|t|jW5QRSQRXdSrL)rr@Zproc_cmdlinercrrArArBcmdlines
zProcess.cmdlinec
Cs0t|tt|jW5QRSQRXdSrL)rrr@Zproc_environrcrrArArBenvirons
zProcess.environcCs|td|_|jS)Nr)rryrrrArArBrszProcess.ppidc
Cs,t|t|jW5QRSQRXdSrL)rr@Zproc_cwdrcrrArArBcwds
zProcess.cwdcCs.|}t|td|td|tdS)NrrrrrZpuidsryrZrawtuplerArArBuidss


zProcess.uidscCs.|}t|td|td|tdS)Nr r!r"rrrArArBgidss


zProcess.gidscCs>|td}t}z
||WStk
r8YdSXdS)Nr#)rryrZget_terminal_mapKeyError)rZtty_nrZtmaprArArBterminals
zProcess.terminalcCs6|}t|td|td|td|tdS)Nr)r*r+r,)rr<pidtaskinfo_maprrArArBmemory_infos



zProcess.memory_infocCs"|}t|j}t||fSrL)rr@Zproc_memory_ussrcr=)rZ	basic_memr>rArArBmemory_full_infoszProcess.memory_full_infocCs(|}t|td|tdddS)Nr'r(g)rrZ	pcputimesrrrArArBrEs

zProcess.cpu_timescCs|tdS)Nr$)rryrrArArBrvszProcess.create_timecCs|td}t|dS)Nr.r)rrrZpctxsw)rZvolrArArBnum_ctx_switchesszProcess.num_ctx_switchescCs|tdS)Nr-)rrrrArArBnum_threadsszProcess.num_threadsc	Csb|jdkrgSg}t|t|j}W5QRX|D]&\}}t|r6t||}||q6|Sru)rcrr@Zproc_open_filesrrZ	popenfilerG)rfilesrsrRfdrXrArArB
open_filess

zProcess.open_filesr]c	Cs|tkr(td|dddtDft|\}}t|t|j||}W5QRXg}|D]2}|\}}}	}
}}t|||	|
||t}
|	|
q`|S)Nz+invalid %r kind argument; choose between %sz, cSsg|]}t|qSrA)repr).0xrArArB
<listcomp>sz'Process.connections.<locals>.<listcomp>)
r	
ValueErrorjoinrr@Zproc_connectionsrcr
TCP_STATUSESrG)rrbZfamiliestypesrsrHrIrZfamtypeZladdrZraddrr%rtrArArBr`s
zProcess.connectionsc
Cs:|jdkrdSt|t|jW5QRSQRXdSru)rcrr@Zproc_num_fdsrrArArBnum_fdss

zProcess.num_fdsNcCst|j||jSrL)rZwait_pidrcr~)rZtimeoutrArArBwait&szProcess.waitc
Cs,t|t|jW5QRSQRXdSrL)rrigetpriorityrcrrArArBnice_get*s
zProcess.nice_getc
Cs.t|t|j|W5QRSQRXdSrL)rrisetpriorityrc)rvaluerArArBnice_set/s
zProcess.nice_setcCs|td}t|dS)Nr%?)rry
PROC_STATUSESget)rcoderArArBr%4szProcess.statuscCs<t|j}g}|D]"\}}}t|||}||q|SrL)r@Zproc_threadsrcrZpthreadrG)rrsrVZ	thread_idutimeZstimerXrArArBthreads:szProcess.threads)r])N)#__name__
__module____qualname____doc__	__slots__rrrrrrrr&rrrrrrrrrrrErvrrrr`rrrrr%rrArArArBr_sr









	









r_)F)r])dr
contextlibrkrrQcollectionsrrOrrrr@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_NONErZSIDLZSTATUS_IDLEZSRUNZSTATUS_RUNNINGZSSLEEPZSTATUS_SLEEPINGZSSTOPZSTATUS_STOPPEDrzrrdictryrr/r4r<_fieldsr=rCrDrErFrJrKrMrNZ
disk_usageZdisk_io_countersrPr[rgZnet_if_addrsrerorprrr^Z
pid_existsr}rcontextmanagerrobjectr_rArArArB<module>s





Back to Directory File Manager