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

U

xeº_éã@s(dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%zddl
mZ&Wnje'k
rîZ(zJe)e(ƒ *¡ +d¡rÜe ,¡dd krÜd!Z-e-d"7Z-e-d#7Z-e.e-ƒ‚n‚W5dZ([(XYnXej/d$krddl0Z0ndZ0d%d&d'd(d)d*d+d,d-d.d/d0d1d2gZ1d3Z2d4Z3d5ej4kZ5e0dkrLd6Z6ne0 7d7d2d6i¡Z8e8j6Z6e&j9ej:e&j;ej<e&j=ej>e&j?ej@e&jAejBe&jCejDe&jEejFe&jGejHe&jIejJe&jKejLe&jMejNe&jOe2e&jPejQi
ZRe0dk	röGd8d9„d9e0j7ƒZSeTƒ UeSjV¡e0dkrdZWdZXd:ZYd;ZZn Gd<d=„d=e0j7ƒZ[eTƒ Ue[jV¡e\ddd:d;d>d?d d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOZ]e	dPdQdRdSdTdUgƒZ^e	dVdWdXdYdZd[gƒZ_e	d\d]d^d_d`dadbdcdddedfdgdhgƒZ`e	die`jadjƒZbe	dkdld]gƒZce	dmdndo decja¡ƒZee	dpdqdrdsdtdudvgƒZfedwdxdydz„ƒZgd{d|„Zhed}d~„ƒZidd€„Zjdd‚„Zke&jlZldƒd„„Zmd…d†„Znd‡dˆ„Zod‰dŠ„Zpd‹dŒ„ZqddŽ„Zrdd„Zsd‘d’„Ztd“aud”d•„Zvd²d–d—„Zwd˜d™„Zxdšd›„Zydœd„ZzdždŸ„Z{da|d d¡„Z}d¢d£„Z~d¤d%„Zd¥d&„Z€Gd¦d§„d§eƒZ‚e&jƒZƒe&j„Z„e&j…Z…d¨d©„Z†d³dªd«„Z‡d¬d­„Zˆd®d¯„Z‰Gd°d±„d±eƒZŠdS)´z Windows platform implementation.éN)Ú
namedtupleé)Ú_common)ÚAccessDenied)Ú	conn_tmap)Úconn_to_ntuple)Údebug)ÚENCODING)Ú
ENCODING_ERRS)Ú
isfile_strict)Úmemoize)Úmemoize_when_activated)Ú
NoSuchProcess)Úparse_environ_block)ÚTimeoutExpired)Ú
usage_percent)Úlong)Ú	lru_cache)ÚPY3©Úrange)Úunicode)ÚABOVE_NORMAL_PRIORITY_CLASS)ÚBELOW_NORMAL_PRIORITY_CLASS)ÚHIGH_PRIORITY_CLASS)ÚIDLE_PRIORITY_CLASS)ÚNORMAL_PRIORITY_CLASS)ÚREALTIME_PRIORITY_CLASS)Ú_psutil_windowszdll load failedéz3this Windows version is too old (< Windows Vista); z:psutil 3.4.2 is the latest version which supports Windows z2000, XP and 2003 server)ééÚwin_service_iterÚwin_service_getrrrrrrÚIOPRIO_VERYLOWÚ
IOPRIO_LOWÚ
IOPRIO_NORMALÚIOPRIO_HIGHÚCONN_DELETE_TCBÚAF_LINKZ
DELETE_TCBi+Z__pypy__éÿÿÿÿÚ
AddressFamilyc@s$eZdZeZeZeZeZeZeZdS)ÚPriorityN)	Ú__name__Ú
__module__Ú__qualname__rrrrrr©r0r0úD/opt/alt/python38/lib64/python3.8/site-packages/psutil/_pswindows.pyr,msr,ér c@seZdZdZdZdZdZdS)Ú
IOPriorityrrr2r N)r-r.r/r$r%r&r'r0r0r0r1r3}sr3r!éééé	é
ééé
éééééééé)Únum_handlesÚctx_switchesÚ	user_timeÚkernel_timeÚcreate_timeÚnum_threadsÚ	io_rcountÚ	io_wcountÚ	io_rbytesÚ	io_wbytesÚio_count_othersÚio_bytes_othersÚnum_page_faultsÚ	peak_wsetÚwsetÚpeak_paged_poolÚ
paged_poolÚpeak_non_paged_poolÚnon_paged_poolÚpagefileÚ
peak_pagefileÚmem_privateÚ	scputimesÚuserÚsystemÚidleÚ	interruptÚdpcÚsvmemÚtotalZ	availableÚpercentÚusedÚfreeÚpmemÚrssÚvmsrPrQrRrSrTZpeak_nonpaged_poolZ
nonpaged_poolrWrXZprivateÚpfullmem)ÚussÚ
pmmap_groupedÚpathÚ	pmmap_extzaddr perms ú ÚpioZ
read_countZwrite_countZ
read_bytesZwrite_bytesÚother_countZother_bytesi)ÚmaxsizecCs@d | d¡dd…¡}t |¡}|t|ƒd…}tj ||¡S)zConvert paths using native DOS format like:
        "\Device\HarddiskVolume1\Windows\systemew\file.txt"
    into:
        "C:\Windows\systemew\file.txt"
    ú\Nr )ÚjoinÚsplitÚcextZwin32_QueryDosDeviceÚlenÚosrk)ÚsZrawdriveZdriveletterZ	remainderr0r0r1Úconvert_dos_pathÀs
rxcCs&tr|St|tƒr|S| tt¡SdS)zmEncode a unicode string to a byte string by using the default fs
    encoding + "replace" error handler.
    N)rÚ
isinstanceÚstrÚencoder	r
)rwr0r0r1Ú
py2_strencodeÍs

r|cCst ¡S©N)rtÚgetpagesizer0r0r0r1r~Úsr~cCsNt ¡}|\}}}}}}|}|}|}	||}
t|||dd}t||||
|	ƒS)z&System virtual memory as a namedtuple.r©Zround_)rtÚvirtual_memrr`)ÚmemZtotphysZ	availphysZtotpagefZ
availpagefZtotvirtZfreevirtraZavailrdrcrbr0r0r1Úvirtual_memoryäsr‚cCsBt ¡}|d}|d}||}t||dd}t ||||dd¡S)z=Swap system memory as a (total, used, free, sin, sout) tuple.r2r rrr)rtr€rrZsswap)rrardrcrbr0r0r1Úswap_memoryñsrƒcCsPtrt|tƒr|jtdd}t |¡\}}||}t||dd}t 	||||¡S)z'Return disk usage associated with path.Ústrict)Úerrorsrr)
rryÚbytesÚdecoder	rtÚ
disk_usagerrZ
sdiskusage)rkrardrcrbr0r0r1rˆsrˆcCst |¡}dd„|DƒS)zReturn disk partitions.cSsg|]}tj|Ž‘qSr0)rZ	sdiskpart©Ú.0Úxr0r0r1Ú
<listcomp>sz#disk_partitions.<locals>.<listcomp>)rtÚdisk_partitions)ÚallÚrawlistr0r0r1rs
rcCs<t ¡\}}}tdd„tt ¡ŽDƒŽ}t||||j|jƒS)z)Return system CPU times as a named tuple.cSsg|]}t|ƒ‘qSr0)Úsum)rŠÚnr0r0r1rŒ szcpu_times.<locals>.<listcomp>)rtÚ	cpu_timesrZÚzipÚ
per_cpu_timesr^r_)r[r\r]Z
percpu_summedr0r0r1r’sÿr’cCs:g}t ¡D](\}}}}}t|||||ƒ}| |¡q|S)z6Return system per-CPU times as a list of named tuples.)rtr”rZÚappend)Úretr[r\r]r^r_Úitemr0r0r1r”%s
r”cCst ¡S)z0Return the number of logical CPUs in the system.)rtÚcpu_count_logicalr0r0r0r1r˜.sr˜cCst ¡S)z6Return the number of physical CPU cores in the system.)rtZcpu_count_physr0r0r0r1Úcpu_count_physical3sr™cCs$t ¡\}}}}d}t ||||¡S)zReturn CPU statistics.r)rtÚ	cpu_statsrZ	scpustats)rEZ
interruptsZdpcsZsyscallsZsoft_interruptsr0r0r1rš8s

ÿršcCs(t ¡\}}d}t t|ƒ|t|ƒ¡gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    ç)rtÚcpu_freqrZscpufreqÚfloat)ZcurrZmax_Zmin_r0r0r1rœ@srœFcCs*tst ¡dat ¡}tdd„|DƒƒS)z~Return the number of processes in the system run queue averaged
    over the last 1, 5, and 15 minutes respectively as a tupleTcSsg|]}t|dƒ‘qS)r2)Úround)rŠÚloadr0r0r1rŒWszgetloadavg.<locals>.<listcomp>)Ú_loadavg_inititializedrtZinit_loadavg_counterÚ
getloadavgÚtuple)Z	raw_loadsr0r0r1r¡Ls
r¡cCsš|tkr(td|d dd„tDƒ¡fƒ‚t|\}}t |||¡}tƒ}|D]D}|\}}}	}
}}}
t|||	|
||t|dkr~|
ndd}| |¡qLt	|ƒ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|ƒ‘qSr0)Úreprr‰r0r0r1rŒesz#net_connections.<locals>.<listcomp>r*N)Úpid)
rÚ
ValueErrorrrrtÚnet_connectionsÚsetrÚTCP_STATUSESÚaddÚlist)ÚkindÚ_pidZfamiliesÚtypesrr–r—ÚfdZfamÚtypeZladdrZraddrÚstatusr¤Úntr0r0r1r¦_sÿÿr¦cCsxi}t ¡}| ¡D]^\}}ts>t|tƒs6tt|ƒƒ‚t|ƒ}|\}}}}t	t
dƒr^t
 |¡}t
 ||||¡||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).Ú	NicDuplex)
rtÚnet_if_statsÚitemsrryrÚAssertionErrorr¯r|Úhasattrrr²Z	snicstats)r–ZrawdictÚnamer´ZisupZduplexZspeedZmtur0r0r1r³qs

r³cCst ¡}tdd„| ¡DƒƒS)zsReturn network I/O statistics for every network interface
    installed on the system as a dict of raw tuples.
    cSsg|]\}}t|ƒ|f‘qSr0©r|)rŠÚkÚvr0r0r1rŒ…sz#net_io_counters.<locals>.<listcomp>)rtÚnet_io_countersÚdictr´©r–r0r0r1r»€sr»cCs8g}t ¡D]&}t|ƒ}t|dƒ|d<| |¡q|S)z,Return the addresses associated to each NIC.r)rtÚnet_if_addrsrªr|r•)r–r´r0r0r1r¾ˆsr¾cCsdt ¡\}}}}|dk}t|d@ƒ}t|d@ƒ}|r8dS|s@|rHtj}n|dkrVtj}t |||¡S)zReturn battery information.ré€r6Nr*)rtÚsensors_batteryÚboolrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)Z
acline_statusÚflagsrbZsecsleftZ
power_pluggedZ
no_batteryZchargingr0r0r1rÀ—srÀcCs,tt ¡ƒ}t|tƒdkr tS|a|SdS)z:The system boot time expressed in seconds since the epoch.rN)rrtÚ	boot_timeÚabsÚ_last_btimer½r0r0r1rós
rÃcCsHg}t ¡}|D]2}|\}}}t|ƒ}t |d||d¡}| |¡q|S)z:Return currently connected users as a list of namedtuples.N)rtÚusersr|rZsuserr•)Úretlistrr—r[ZhostnameZtstampr±r0r0r1rÆÁs
rÆccs*t ¡D]\}}tt|ƒt|ƒƒVqdS)z*Yields a list of WindowsService instances.N)rtZwinservice_enumerateÚWindowsServicer|)r·Údisplay_namer0r0r1r"ÒscCst|dƒ}| ¡d|_|S)zBOpen a Windows service and return it as a WindowsService instance.NrÉ)rÈÚ
_query_configÚ
_display_name)r·Zservicer0r0r1r#Øs
c@sžeZdZdZdd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Z	dd„Z
ejdd„ƒZ
dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$S)%rÈz(Represents an installed Windows service.cCs||_||_dSr})Ú_namerË)Úselfr·rÉr0r0r1Ú__init__âszWindowsService.__init__cCs d|j|jf}d|jj|fS)Nz(name=%r, display_name=%r)z%s%s)rÌrËÚ	__class__r-)rÍZdetailsr0r0r1Ú__str__æs
ÿzWindowsService.__str__cCsd| ¡t|ƒfS)Nz
<%s at %s>)rÐÚid©rÍr0r0r1Ú__repr__ëszWindowsService.__repr__cCst|tƒstS|j|jkSr})ryrÈÚNotImplementedrÌ©rÍÚotherr0r0r1Ú__eq__îs
zWindowsService.__eq__cCs
||kSr}r0rÕr0r0r1Ú__ne__õszWindowsService.__ne__c	CsH| ¡t |j¡\}}}}W5QRXtt|ƒt|ƒt|ƒt|ƒdS)N)rÉÚbinpathÚusernameÚ
start_type)Ú_wrap_exceptionsrtZwinservice_query_configrÌr¼r|)rÍrÉrÙrÚrÛr0r0r1rÊøs

ÿüzWindowsService._query_configc	Cs<| ¡t |j¡\}}W5QRX|dkr0d}t||dS)Nr)r°r¤)rÜrtZwinservice_query_statusrÌr¼)rÍr°r¤r0r0r1Ú
_query_statuss

zWindowsService._query_statusc
cs~z
dVWnntk
rx}zPt|ƒr<td|jd|jd‚n,|jtjtjfkrftd|jd|jd‚n‚W5d}~XYnXdS)z{Ctx manager which translates bare OSError and WindowsError
        exceptions into NoSuchProcess and AccessDenied.
        Nz2service %r is not querable (not enough privileges)©r¤r·Úmsgzservice %r does not exist))	ÚOSErrorÚis_permission_errrrÌÚwinerrorrtZERROR_INVALID_NAMEZERROR_SERVICE_DOES_NOT_EXISTr©rÍÚerrr0r0r1rÜ
s(
ÿþÿþzWindowsService._wrap_exceptionscCs|jS)z¢The service name. This string is how a service is referenced
        and can be passed to win_service_get() to get a new
        WindowsService instance.
        )rÌrÒr0r0r1r·!szWindowsService.namecCs|jS)z_The service display name. The value is cached when this class
        is instantiated.
        )rËrÒr0r0r1rÉ(szWindowsService.display_namecCs| ¡dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        rÙ©rÊrÒr0r0r1rÙ.szWindowsService.binpathcCs| ¡dS)z,The name of the user that owns this service.rÚrårÒr0r0r1rÚ4szWindowsService.usernamecCs| ¡dS)zRA string which can either be "automatic", "manual" or
        "disabled".
        rÛrårÒr0r0r1rÛ8szWindowsService.start_typecCs| ¡dS)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        r¤©rÝrÒr0r0r1r¤@szWindowsService.pidcCs| ¡dS)zService status as a string.r°rærÒr0r0r1r°FszWindowsService.statuscCstt | ¡¡ƒS)zService long description.)r|rtZwinservice_query_descrr·rÒr0r0r1ÚdescriptionJszWindowsService.descriptioncCs>| ¡}| | ¡¡| ¡|d<| ¡|d<| ¡|d<|S)zUUtility method retrieving all the information above as a
        dictionary.
        r·rÉrç)rÊÚupdaterÝr·rÉrç)rÍÚdr0r0r1Úas_dictPszWindowsService.as_dictN)r-r.r/Ú__doc__rÎrÐrÓr×rØrÊrÝÚ
contextlibÚcontextmanagerrÜr·rÉrÙrÚrÛr¤r°rçrêr0r0r0r1rÈßs&
rÈcCs<t|tƒst|ƒ‚|jtjtjfkp:t|ddƒtjtj	fkS)z*Return True if this is a permission error.râr*)
ryràrµÚerrnoZEPERMZEACCESÚgetattrrtZERROR_ACCESS_DENIEDZERROR_PRIVILEGE_NOT_HELD)Úexcr0r0r1rásÿÿrácCsFt|tƒst|ƒ‚t|ƒr&t||dS|jtjkr>t||dS|‚dS)z3Convert OSError into NoSuchProcess or AccessDenied.©r¤r·N)ryràrµrárrîZESRCHr)rðr¤r·r0r0r1Úconvert_oserror˜sròcst ˆ¡‡fdd„ƒ}|S)zDDecorator which converts OSError into NoSuchProcess or AccessDenied.c
sLzˆ|f|ž|ŽWStk
rF}zt||j|jd‚W5d}~XYnXdS)Nrñ)ràròr¤rÌ)rÍÚargsÚkwargsrä©Úfunr0r1Úwrapper¤sz wrap_exceptions.<locals>.wrapper©Ú	functoolsÚwraps©rör÷r0rõr1Úwrap_exceptions¢srücst ˆ¡‡fdd„ƒ}|S)z€Workaround for https://github.com/giampaolo/psutil/issues/875.
    See: https://stackoverflow.com/questions/4457745#4457745
    c	s¦d}d}t|ƒD]p}zˆ|f|ž|ŽWStk
r~}z6|}|jtkrlt |¡t|ddƒ}WY¢
qn‚W5d}~XYqXqdˆ||f}t|j|j	|d‚dS)Nç-Cëâ6?é!r2ç{®Gáz¤?zI%s retried %s times, converted to AccessDenied as it's still returning %rrÞ)
rÚWindowsErrorrâÚERROR_PARTIAL_COPYÚtimeÚsleepÚminrr¤rÌ)	rÍrórôÚdelayÚtimesr‹Ú_rärßrõr0r1r÷±s 


ÿz)retry_error_partial_copy.<locals>.wrapperrørûr0rõr1Úretry_error_partial_copy­src@sÄeZdZdZddddgZdd„Zdd	„Zd
d„Zedd
„ƒZ	dd„Z
eedd„ƒƒZee
dd„ƒƒZee
dd„ƒƒZdd„Zdd„Zedd„ƒZedd„ƒZdd„Zed d!„ƒZed"d#„ƒZedPd%d&„ƒZed'd(„ƒZed)d*„ƒZed+d,„ƒZed-d.„ƒZed/d0„ƒZed1d2„ƒZed3d4„ƒZee
d5d6„ƒƒZed7d8„ƒZ edQd:d;„ƒZ!ed<d=„ƒZ"ed>d?„ƒZ#ed@dA„ƒZ$edBdC„ƒZ%edDdE„ƒZ&edFdG„ƒZ'edHdI„ƒZ(edJdK„ƒZ)edLdM„ƒZ*edNdO„ƒZ+d$S)RÚProcessz1Wrapper class around underlying C implementation.r¤rÌÚ_ppidÚ_cachecCs||_d|_d|_dSr})r¤rÌr
)rÍr¤r0r0r1rÎÌszProcess.__init__cCs|j |¡|j |¡dSr})Ú
_proc_infoZcache_activateÚexerÒr0r0r1Ú
oneshot_enterÓszProcess.oneshot_entercCs|j |¡|j |¡dSr})rZcache_deactivater
rÒr0r0r1Úoneshot_exit×szProcess.oneshot_exitcCs$t |j¡}t|ƒttƒks t‚|S)zOReturn multiple information about this process as a
        raw tuple.
        )rtZ	proc_infor¤ruÚ	pinfo_maprµ©rÍr–r0r0r1rÛszProcess._proc_infocCs,|jdkrdS|jdkrdStj | ¡¡S)zbReturn process name, which on Windows is always the final
        part of the executable.
        rzSystem Idle Processr!ZSystem)r¤rvrkÚbasenamer
rÒr0r0r1r·äs


zProcess.namec
CsŽtr`zt |j¡}Wqltk
r\}z*|jdkrJtd|ƒt|j|jƒ‚‚W5d}~XYqlXnt |j¡}t	sxt
|ƒ}| d¡rŠt|ƒS|S)Néz%r forced into AccessDeniedrq)
ÚPYPYrtZproc_exer¤rrîrrrÌrr|Ú
startswithrx)rÍr
rär0r0r1r
ðs

zProcess.exec
CsŒtjtjkrbztj|jdd}Wqrtk
r^}z t|ƒrLtj|jdd}n‚W5d}~XYqrXntj|jdd}trz|Sdd„|DƒSdS)NT)Zuse_pebFcSsg|]}t|ƒ‘qSr0r¸)rŠrwr0r0r1rŒsz#Process.cmdline.<locals>.<listcomp>)rtZWINVERZWINDOWS_8_1Zproc_cmdliner¤ràrár)rÍr–rär0r0r1ÚcmdlineszProcess.cmdlinecCs6t |j¡}|r*ts*t|tƒs*tt|ƒƒ‚tt	|ƒƒSr})
rtZproc_environr¤rryrrµr¯rr|)rÍZustrr0r0r1ÚenvironszProcess.environcCs6ztƒ|jWStk
r0t|j|jƒ‚YnXdSr})Úppid_mapr¤ÚKeyErrorrrÌrÒr0r0r1Úppid!szProcess.ppidcCs¸zt |j¡WStk
r²}z†t|ƒr | ¡}|td|td|td|td|td|td|td|td|td	|td
f
WY¢S‚W5d}~XYnXdS)NrPrQrRrSrTrUrVrWrXrY)rtZproc_memory_infor¤ràrárr)rÍräÚinfor0r0r1Ú_get_raw_meminfo's"









özProcess._get_raw_meminfocCs(| ¡}|d}|d}t||f|ŽS)Nr2r5)rre)rÍÚtrfrgr0r0r1Úmemory_info=szProcess.memory_infocCs,| ¡}t |j¡}|tƒ9}t||fŽSr})rrtZproc_memory_ussr¤r~rh)rÍZ	basic_memrir0r0r1Úmemory_full_infoGs
zProcess.memory_full_infoc
cs„zt |j¡}Wn2tk
rB}zt||j|jƒ‚W5d}~XYn>X|D]6\}}}}t|ƒ}tsht|ƒ}t	|ƒ}||||fVqHdSr})
rtZproc_memory_mapsr¤ràròrÌrxrr|Úhex)rÍÚrawräZaddrZpermrkrfr0r0r1Úmemory_mapsNs"zProcess.memory_mapscCst |j¡Sr})rtÚ	proc_killr¤rÒr0r0r1Úkill]szProcess.killcCsT|tjkrt |j¡n8|ttdtƒƒttdtƒƒfkrHt |j|¡nt	dƒ‚dS)NZCTRL_C_EVENTZCTRL_BREAK_EVENTzPonly SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals are supported on Windows)
ÚsignalÚSIGTERMrtr#r¤rïÚobjectrvr$r¥)rÍZsigr0r0r1Úsend_signalas
ÿÿzProcess.send_signalNcCsâ|dkrtj}nt|dƒ}ttdtjƒ}|dk	r<|ƒ|nd}zt |j|¡}Wn>tjk
rxt||j|jƒ‚Yntj	k
rd}YnXd}t
|jƒs¤|S|rÄ|ƒ|krÄt||j|jd‚t |¡t|ddƒ}q–dS)NièÚ	monotonicrýrñr2rÿ)
rtZINFINITEÚintrïrZ	proc_waitr¤rrÌZTimeoutAbandonedÚ
pid_existsrr)rÍZtimeoutZcext_timeoutZtimerZstop_atZ	exit_coderr0r0r1Úwaitns$	


zProcess.waitcCs2|jdkrdSt |j¡\}}t|ƒdt|ƒS)N©rr!zNT AUTHORITY\SYSTEMrq)r¤rtZ
proc_usernamer|)rÍZdomainr[r0r0r1rÚ™s
zProcess.usernamec
Csbzt |j¡\}}}|WStk
r\}z&t|ƒrJ| ¡tdWY¢S‚W5d}~XYnXdS)NrH)rtÚ
proc_timesr¤ràrárr)rÍr[r\Úcreatedrär0r0r1rH szProcess.create_timecCs| ¡tdS)NrI)rrrÒr0r0r1rI¬szProcess.num_threadscCs<t |j¡}g}|D]"\}}}t |||¡}| |¡q|Sr})rtZproc_threadsr¤rZpthreadr•)rÍrrÇZ	thread_idÚutimeZstimeÚntupler0r0r1Úthreads°szProcess.threadsc
Cstzt |j¡\}}}WnLtk
rb}z.t|ƒs2‚| ¡}|td}|td}W5d}~XYnXt ||dd¡S)NrFrGr›)	rtr.r¤ràrárrrZ	pcputimes)rÍr[r\r/rärr0r0r1r’¹szProcess.cpu_timescCst |jd¡dS)NT©rtZproc_suspend_or_resumer¤rÒr0r0r1ÚsuspendÆszProcess.suspendcCst |jd¡dS)NFr3rÒr0r0r1ÚresumeÊszProcess.resumecCs4|jdkrt|j|jƒ‚t |j¡}ttj |¡ƒS)Nr-)	r¤rrÌrtZproc_cwdr|rvrkÚnormpath)rÍrkr0r0r1ÚcwdÎs
zProcess.cwdcCsd|jdkrgStƒ}t |j¡}|D]6}t|ƒ}t|ƒr$tsDt|ƒ}t 	|d¡}| 
|¡q$t|ƒS)Nr-r*)r¤r§rtZproc_open_filesrxrrr|rZ	popenfiler©rª)rÍr–Zraw_file_namesZ_filer1r0r0r1Ú
open_filesØs
zProcess.open_filesÚinetcCst||jdS)N)r¬)r¦r¤)rÍr«r0r0r1ÚconnectionsëszProcess.connectionscCs t |j¡}tdk	rt|ƒ}|Sr})rtZproc_priority_getr¤Úenumr,©rÍÚvaluer0r0r1Únice_getïszProcess.nice_getcCst |j|¡Sr})rtZproc_priority_setr¤r<r0r0r1Únice_setöszProcess.nice_setcCs t |j¡}tdk	rt|ƒ}|Sr})rtZproc_io_priority_getr¤r;r3rr0r0r1Ú
ionice_getúszProcess.ionice_getcCs:|rtdƒ‚|ttttfkr(td|ƒ‚t |j|¡dS)Nz&value argument not accepted on Windowsz%s is not a valid priority)	Ú	TypeErrorr$r%r&r'r¥rtZproc_io_priority_setr¤)rÍZioclassr=r0r0r1Ú
ionice_setsÿzProcess.ionice_setcCsŽzt |j¡}Wnttk
r„}zVt|ƒs,‚| ¡}|td|td|td|td|td|tdf}W5d}~XYnXt|ŽS)NrJrKrLrMrNrO)rtZproc_io_countersr¤ràrárrrn)rÍr–rärr0r0r1Úio_counters
s





úzProcess.io_counterscCs t |j¡}|rtjStjSdSr})rtZproc_is_suspendedr¤rZSTATUS_STOPPEDZSTATUS_RUNNING)rÍZ	suspendedr0r0r1r°szProcess.statuscCsdd„}t |j¡}||ƒS)Ncs‡fdd„tdƒDƒS)Ncsg|]}d|>ˆ@r|‘qS)rr0)rŠÚi©r‹r0r1rŒ'szBProcess.cpu_affinity_get.<locals>.from_bitmask.<locals>.<listcomp>é@rrEr0rEr1Úfrom_bitmask&sz.Process.cpu_affinity_get.<locals>.from_bitmask)rtZproc_cpu_affinity_getr¤)rÍrGÚbitmaskr0r0r1Úcpu_affinity_get$szProcess.cpu_affinity_getcCsndd„}ttttƒƒƒƒ}|D]4}||krt|ttfƒsFtd|ƒ‚qtd|ƒ‚q||ƒ}t	 
|j|¡dS)NcSs.|std|ƒ‚d}|D]}|d|O}q|S)Nzinvalid argument %rrr2)r¥)ZlsÚoutÚbr0r0r1Ú
to_bitmask-sz,Process.cpu_affinity_set.<locals>.to_bitmaskz&invalid CPU %r; an integer is requiredzinvalid CPU %r)rªrrur”ryr*rrAr¥rtZproc_cpu_affinity_setr¤)rÍr=rLZallcpusZcpurHr0r0r1Úcpu_affinity_set+sÿzProcess.cpu_affinity_setc
CsXzt |j¡WStk
rR}z&t|ƒr@| ¡tdWY¢S‚W5d}~XYnXdS)NrD)rtZproc_num_handlesr¤ràrárrrãr0r0r1rDDszProcess.num_handlescCs| ¡td}t |d¡S)NrEr)rrrZpctxsw)rÍrEr0r0r1Únum_ctx_switchesMszProcess.num_ctx_switches)N)r9),r-r.r/rëÚ	__slots__rÎrrr
rr·rür
rrrrrrrr"r$r(r,rÚrHrIr2r’r4r5r7r8r:r>r?r@rBrCr°rIrMrDrNr0r0r0r1r	ÇsŽ

	


*
















r	)r*)NN)‹rërìrîrùrvr%ÚsysrÚcollectionsrÚrrrrrr	r
rrr
rrrrZ_compatrrrrrrrrrrrrrtÚImportErrorrärzÚlowerrZgetwindowsversionrßÚRuntimeErrorÚversion_infor;Z__extra__all__r(rÚbuiltin_module_namesrr)ÚIntEnumr+ZMIB_TCP_STATE_ESTABZCONN_ESTABLISHEDZMIB_TCP_STATE_SYN_SENTZ
CONN_SYN_SENTZMIB_TCP_STATE_SYN_RCVDZ
CONN_SYN_RECVZMIB_TCP_STATE_FIN_WAIT1ZCONN_FIN_WAIT1ZMIB_TCP_STATE_FIN_WAIT2ZCONN_FIN_WAIT2ZMIB_TCP_STATE_TIME_WAITZCONN_TIME_WAITZMIB_TCP_STATE_CLOSEDZ
CONN_CLOSEZMIB_TCP_STATE_CLOSE_WAITZCONN_CLOSE_WAITZMIB_TCP_STATE_LAST_ACKZ
CONN_LAST_ACKZMIB_TCP_STATE_LISTENZCONN_LISTENZMIB_TCP_STATE_CLOSINGZCONN_CLOSINGZMIB_TCP_STATE_DELETE_TCBZPSUTIL_CONN_NONEZ	CONN_NONEr¨r,ÚglobalsrèÚ__members__r$r%r&r'r3r¼rrZr`reÚ_fieldsrhrjrrrlrnrxr|r~r‚rƒZdisk_io_countersrˆrr’r”r˜r™ršrœr r¡r¦r³r»r¾rÀrÅrÃrÆr"r#r'rÈZpidsr+rráròrürr	r0r0r0r1Ú<module>sŽÿ

÷

ó

ê ÿýÿÿþ



	
		
*


Back to Directory File Manager