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

U

=_]y@sdZddlZddlZddlZddlZddlmmZddl	m
Z
ddl	mZddlm
Z
ddlmZddlmZdd	lmZdd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlm Z ddlm!Z!ddlm"Z"gZ#erzej$e
j%ej&e
j'ej(e
j)ej*e
j+ej,e
j-ej.e
j/ej0e
j1iZ2n~erej$e
j%ej(e
j)ej*e
j+ej3e
j-ej,e
j-ej&e
j4ej5e
j'iZ2n:erej$e
j%ej(e
j)ej*e
j+ej,e
j-ej&e
j4ej5e
j'iZ2ej6e
j7ej8e
j9ej:e
j;ej<e
j=ej>e
j?ej@e
jAejBe
jCejDe
jEejFe
jGejHe
jIejJe
jKejLe
jMiZNeOZPejQZQeRedZSeRedZTeRedZUeRedZVeWdddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4ZXe
d5d6d7d8d9d:d;d<d=d>d?d@gZYe
dAdBdCdDdEdFgZZe
dGdHdIdJdKdLgZ[e[Z\e
dMdBdDdNdOgZ]e
dPdQZ^e
dRdSZ_er^e
dTdUdVdWdXdYdZd[gZ`ne
dTdUdVdWdXgZ`d\d]Zad^d_Zbd`daZceSrdbdZdndcdZddded_ededfZfeserdgdhZgndidhZgdjdkZhddldmZiejjZjejkZkejlZlejmZmdndoZndpdqZoer$drdsZpdtduZqdvdwZrdxdyZsdzd{Zted|d}Zud~dZvesTer^ddZwnejwZwddZxddZyejzddZ{Gddde|Z}dS)z5FreeBSD, OpenBSD and NetBSD platforms implementation.N)
namedtuple)defaultdict)_common)_psposix)_psutil_bsd)
_psutil_posix)AccessDenied)	conn_tmap)conn_to_ntuple)FREEBSD)memoize)memoize_when_activated)NETBSD)
NoSuchProcess)OPENBSD)
usage_percent)
ZombieProcess)FileNotFoundError)PermissionError)ProcessLookupError)which
per_cpu_timesproc_num_threadsproc_open_filesproc_num_fds	

)ppidstatusreal_uid
effective_uid	saved_uidreal_gid
effective_gid	saved_gidttynrcreate_timectx_switches_volctx_switches_unvol
read_io_countwrite_io_count	user_timesys_timech_user_timech_sys_timerssvmsmemtextmemdatamemstackcpunumnamesvmemtotalZ	availablepercentusedfreeactiveinactivebufferscachedsharedwired	scputimesusernicesystemidleirqpmemrErFtextdatastack	pcputimes
children_userchildren_system
pmmap_grouped*path rss, private, ref_count, shadow_count	pmmap_ext6addr, perms path rss, private, ref_count, shadow_countsdiskioZ
read_countZwrite_countZ
read_bytesZwrite_bytesZ	read_timeZ
write_timeZ	busy_timecCst}|\}}}}}}}}tr~tddN}	|	D]B}
|
drTt|
dd}q0|
dr0t|
dd}q0W5QRX|||}|||}t|||dd}
t|||
||||||||S)z&System virtual memory as a namedtuple.z
/proc/meminforbsBuffers:ris
MemShared:Zround_)	cextZvirtual_memropen
startswithintsplitrrL)ZmemrMrPrQrRrVrTrSrUflineZavailrOrNrr@/opt/alt/python38/lib64/python3.8/site-packages/psutil/_psbsd.pyvirtual_memorys(

 rtcCs4t\}}}}}t||dd}t||||||S)z@System swap memory as (total, used, free, sin, sout) namedtuple.rrj)rkZswap_memrrZsswap)rMrOrPZsinZsoutrNrrrrrsswap_memorysrucCs"t\}}}}}t|||||S)z+Return system per-CPU times as a namedtuple)rk	cpu_timesrW)rXrYrZr[r\rrrrrsrvsrvcCs>g}tD],}|\}}}}}t|||||}||q|S)'Return system CPU times as a namedtuple)rkrrWappend)retZcpu_trXrYrZr[r\itemrrrrrsrscCs.tdkrtgStjr tddt_tgS)rwr&supported only starting from FreeBSD 8T)cpu_count_logicalrvr
__called__NotImplementedErrorrrrrrrrsrs
FcCstS)z0Return the number of logical CPUs in the system.)rkr|rrrrrrrsr|sr|cCstdkrdSdS)Nr)r|rrrrrrrscpu_count_physicalsrcCsxd}t}|dk	rb|d}|dkrb|d|d}t|}zt|dpRd}W5|X|sttdkrtdS|S)z1Return the number of physical CPUs in the system.Nz	</groups>r#zgroup/children/group/cpur)	rkZcpu_count_physrfindETZ
fromstringclearlenfindallr|)rysindexrootrrrrrsrs



c		Cstrt\}}}}}nptrnt\}}}}}}}tdd*}|D]}|drBt|d}qBW5QRXntrt\}}}}}}}t	
||||S)z*Return various CPU stats as a named tuple.z
/proc/statrisintrr)rrk	cpu_statsrrlrmrnrorrZ	scpustats)	ZctxswZintrsZ
soft_intrsZsyscallsZtrapsZfaultsZforksrprqrrrrrsrs
rc	CsLg}t}|D]6}|\}}}}d}}	t||||||	}
||
q|S)zReturn mounted disk partitions as a list of namedtuples.
    'all' argument is ignored, see:
    https://github.com/giampaolo/psutil/issues/906
    N)rkdisk_partitionsrZ	sdiskpartrx)allretlistZ
partitions	partitionZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpathntuplerrrrrsr?srcCst}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_speedOSErrorerrnoZENODEVhasattrrrZ	snicstats)namesryrKZmtuZisupZduplexZspeederrrrrrrsnet_if_stats\s




rc
Cstrtg}tD]`}zt||}Wnttfk
r@YqYqX|D]&}t|}|||tj	|qFq|S|tj
krtd|dddt
Dft
|\}}t
}trtd}nt}|D]F}|\}	}
}}}
}}|
|kr||krt|	|
|||
|t|}||qt|S)z System-wide network connections.+invalid %r kind argument; choose between %s, cSsg|]}t|qSrrrepr.0xrrrrrs
<listcomp>sz#net_connections.<locals>.<listcomp>r)rpidsProcessconnectionsrrlistrxrZsconnr

ValueErrorjoinsetrrknet_connectionsrTCP_STATUSESadd)kindrypidZconsZconnfamiliestypesrawlistrzfdfamtypeladdrraddrr4ntrrrrrsrps<



rcCsdzt\}}}Wntk
r(YdSX|dk}|r>tj}n|dkrNtj}n|d}t|||S)zReturn battery info.Nrr<)rksensors_batteryr~rZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)rNZminsleftZ
power_pluggedZsecsleftrrrrrsrsrc	Csvtt}t}t|D]Z}z@t|\}}|dkr6d}d|}|dt||||Wqt	k
rnYqXq|S)z?Return CPU cores temperatures if available, else an empty dict.rNzCore %sZcoretemp)
rrr|rangerkZsensors_cpu_temperaturerxrZshwtempr~)rynum_cpuscpucurrentZhighrKrrrrrssensors_temperaturessrc
Csg}t}t|D]}zt|\}}Wntk
r@YqYnX|rz t|dddd}Wnttfk
rd}YnXz t|dddd}Wnttfk
rd}YnX|	t
|||q|S)zReturn frequency metrics for CPUs. As of Dec 2018 only
        CPU 0 appears to be supported by FreeBSD and all other cores
        match the frequency of CPU 0.
         r/rN)r|rrkZ
cpu_frequencyr~rnro
IndexErrorrrxrZscpufreq)ryrrrZavailable_freqZmin_freqZmax_freqrrrrrscpu_freqs$
 
 
rcCstS)z:The system boot time expressed in seconds since the epoch.)rk	boot_timerrrrrrrsrsrc	Cs^g}t}|D]H}|\}}}}}|dkr.d}|dkr8qt||pDd|||}||q|S)z:Return currently connected users as a list of namedtuples.rN~)rkusersrZsuserrx)	rrrzrXZttyZhostnameZtstamprrrrrrrsrsrcCsDztdWn*tk
r&YdStk
r:YdSXdSdS)NrFT)rrKrr	rrrrrrrs
_pid_0_existssrcCs*t}tr&d|kr&tr&|dd|S)z7Returns a list of PIDs currently running on the system.r)rkrrrinsert)ryrrrrrsrsrcCs t|}|s|tkSdSdS)zReturn True if pid exists.TN)r
pid_existsr)rexistsrrrrrsr
s

rcCs:zt|td}|tjkWStk
r4YdSXdS)Nr4F)rkproc_oneshot_infokinfo_proc_mapSZOMB	Exception)rstrrrrrs	is_zombies
rcstfdd}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    csz|f||WStk
rRt|jr@t|j|j|jnt|j|jYn\tk
rrt|j|jYn<t	k
r|jdkrdt
krt|j|jnYnXdSNr)rrrr_name_ppidrrr	rr)selfargskwargsfunrrrswrapper#s


z wrap_exceptions.<locals>.wrapper)	functoolswraps)rrrrrrswrap_exceptionssrc	cstz
dVWndttfk
rNt|jr<t|j|j|jnt|j|jYn"tk
rnt	|j|jYnXdS)z8Same as above, for routines relying on reading /proc fs.N)
rrrrrrrrrr	)instrrrrrswrap_exceptions_procfs8s

rc@seZdZdZddddgZddZdd	Zeed
dZ	dd
Z
ddZeddZeddZ
eddZeddZeddZeddZeddZeddZed d!Zered"d#Zed$d%ZeZed&d'Zed(d)Zed*d+Zed,d-ZedOd/d0ZedPd2d3Zed4d5Zed6d7Z ed8d9Z!ed:d;Z"ed<d=Z#e$d>d?Z%e$d>d@Z&dAdBZ'e(redCdDZ)ne'Z)e*redEdFZ+ne'Z+eredGdHZ,edIdJZ-edKdLZ.edQdMdNZ/d1S)Rrz1Wrapper class around underlying C implementation.rrr_cachecCs||_d|_d|_dSN)rrr)rrrrrrrs__init__NszProcess.__init__cCst|jdS)z+Raise NSP if the process disappeared on us.N)rk	proc_namerrrrrrrs
_assert_aliveSszProcess._assert_alivecCst|j}|S)z;Retrieves multiple process info in one shot as a raw tuple.)rkrrrryrrrrrsoneshotYszProcess.oneshotcCs|j|dSr)rZcache_activaterrrrrrs
oneshot_enteraszProcess.oneshot_entercCs|j|dSr)rZcache_deactivaterrrrrrsoneshot_exitdszProcess.oneshot_exitcCs(|td}|dk	r|St|jS)NrK)rrrkrr)rrKrrrrrsrKgszProcess.namec
Cstr|jdkrdSt|jStr^|jdkr0dSt|td|jW5QRSQRXn |}|rzt	|dpxdSdSdS)Nrz/proc/%s/exe)
rrrkZproc_exerrosreadlinkcmdliner)rrrrrrrsexels


$zProcess.exec
Cstr|jdkrgStrzt|jWStk
r}z\|jtjkrt|jr`t	|j|j
|jqt|js~t
|j|j
|jqgWY
SnW5d}~XYqXnt|jSdSr)rrrrkZproc_cmdlinerrEINVALrrrrrr)rrrrrrrsrs

zProcess.cmdlinecCst|jSr)rkZproc_environrrrrrrrsenvironszProcess.environcCs>|td}t}z
||WStk
r8YdSXdS)Nr;)rrrZget_terminal_mapKeyError)rZtty_nrZtmaprrrrrsterminals
zProcess.terminalcCs|td|_|jS)Nr3)rrrrrrrrrsr3szProcess.ppidcCs.|}t|td|td|tdS)Nr5r6r7)rrZpuidsrrZrawtuplerrrrrsuidss


zProcess.uidscCs.|}t|td|td|tdS)Nr8r9r:)rrZpgidsrrrrrrrsgidss


zProcess.gidscCs8|}t|td|td|td|tdS)NrArBrCrD)rrrarrrrrrrsrvs



zProcess.cpu_timescCs|tdS)NrJrrrrrrrrscpu_numszProcess.cpu_numcCs@|}t|td|td|td|td|tdS)NrErFrGrHrI)rr]rrrrrrrsmemory_infos




zProcess.memory_infocCs|tdS)Nr<rrrrrrrsr<szProcess.create_timecCs trt|jSt|SdSr)HAS_PROC_NUM_THREADSrkrrrthreadsrrrrrrsnum_threadsszProcess.num_threadscCs$|}t|td|tdS)Nr=r>)rrZpctxswrrrrrrrsnum_ctx_switchess


zProcess.num_ctx_switchescCsHt|j}g}|D]"\}}}t|||}||qtrD||Sr)rkZproc_threadsrrZpthreadrxrr)rrrZ	thread_idutimeZstimerrrrrrsrszProcess.threadsinetc	Cs|tkr(td|dddtDftrt|\}}g}t|j}|D]D}|\}}}	}
}}}
||krL|	|krLt|||	|
||t}|	|qL|
t|St|\}}t|j||}g}|D]2}|\}}}	}
}}t|||	|
||t}|	|qt
r|
|S)NrrcSsg|]}t|qSrrrrrrrrrsrsz'Process.connections.<locals>.<listcomp>)r
rrrrkrrrrrxrrZproc_connectionsr)rrrrryrrzrrrrrr4rrrrrrrsrs:zProcess.connectionsNcCst|j||jSr)rZwait_pidrr)rZtimeoutrrrrrswaitszProcess.waitcCst|jSr)rgetpriorityrrrrrrrsnice_getszProcess.nice_getcCst|j|Sr)rsetpriorityr)rvaluerrrrrsnice_set#szProcess.nice_setcCs|td}t|dS)Nr4?)rr
PROC_STATUSESget)rcoderrrrrsr4'szProcess.statuscCs(|}t|td|tdddS)Nr?r@r)rrZpiorrrrrrrsio_counters-s

zProcess.io_counterscCs>tr|jdkrdStstr*t|jp(dSttr4dnddS)z)Return process current working directory.rNr{r)rrrHAS_PROC_OPEN_FILESrkZproc_cwdr~rrrrrrrscwd6szProcess.cwdZmmaprergcCstdSr)r~rrrrrrs_not_implementedKszProcess._not_implementedcCst|j}dd|DS)z8Return files opened by process as a list of namedtuples.cSsg|]\}}t||qSrr)rZ	popenfile)rpathrrrrrrsrUsz&Process.open_files.<locals>.<listcomp>)rkrr)rrrrrrrs
open_filesQszProcess.open_filescCst|j}tr||S)z=Return the number of file descriptors opened by this process.)rkrrrrrrrrrrsnum_fds\szProcess.num_fdscCst|jSr)rkZproc_cpu_affinity_getrrrrrrrscpu_affinity_getjszProcess.cpu_affinity_getc
Cstttt}|D]}||krtd||fqzt|j|WnXtk
r}z:|j	t	j
t	jfkr|D]}||krntd||fqnW5d}~XYnXdS)Nz#invalid CPU #%i (choose between %s))tuplerrrrrkZproc_cpu_affinity_setrrrrZEDEADLK)rZcpusZallcpusrrrrrrrscpu_affinity_setns&zProcess.cpu_affinity_setcCst|jSr)rkZproc_memory_mapsrrrrrrrsmemory_mapsszProcess.memory_mapscCsP|dkrt|j|St|dkr2tdt||\}}t|j|||SdS)Nrz4second argument must be a (soft, hard) tuple, got %s)rkZproc_getrlimitrrrrZproc_setrlimit)rresourceZlimitsZsoftZhardrrrrrsrlimitszProcess.rlimit)r)N)N)0__name__
__module____qualname____doc__	__slots__rrrrrrrrKrrrrr3rrrvrrrZmemory_full_infor<rrrrrrrr4rrrZnt_mmap_groupedZnt_mmap_extrrr
HAS_PROC_NUM_FDSrrrrrrrrrrrrsrIs










	



!







r)F)~r
contextlibrrrZxml.etree.ElementTreeZetreeZElementTreercollectionsrrrrrrrkrrr	r
rrr
rrrrrrZ_compatrrrrZ__extra__all__ZSIDLZSTATUS_IDLEZSRUNZSTATUS_RUNNINGZSSLEEPZSTATUS_SLEEPINGZSSTOPZSTATUS_STOPPEDrZ
STATUS_ZOMBIEZSWAITZSTATUS_WAITINGZSLOCKZ
STATUS_LOCKEDrZSDEADZ
STATUS_WAKINGZSONPROCZTCPS_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_NONErZgetpagesizeZPAGESIZEZAF_LINKrZHAS_PER_CPU_TIMESrrrdictrrLrWr]Zpfullmemrardrfrhrtrurvrr}r|rrrZ
disk_usageZdisk_io_countersrZnet_if_addrsrrrrrrrrrrrrcontextmanagerrobjectrrrrrrrrs<module>s	




#

	
	
#
(





Back to Directory File Manager