Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ray / purelib / ray / thirdparty_files / psutil / __pycache__ / _pswindows.cpython-310.pyc
Size: Mime:
o

‚‚õbÿã@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&Wn,e'yîZ(z e)e(ƒ *¡ +d¡rée ,¡dd kréd!Z-e-d"7Z-e-d#7Z-e.e-ƒ‚‚dZ([(wwej/d$krùddl0Z0ndZ0gd%¢Z1d&Z2d'Z3d(ej4vZ5e0durd)Z6ne0 7d*d+d)i¡Z8e8j6Z6e&j9ej:e&j;ej<e&j=ej>e&j?ej@e&jAejBe&jCejDe&jEejFe&jGejHe&jIejJe&jKejLe&jMejNe&jOe2e&jPejQi
ZRe0dureGd,d-„d-e0j7ƒZSeTƒ UeSjV¡e0dursdZWdZXd.ZYd/ZZnGd0d1„d1e0j7ƒZ[eTƒ Ue[jV¡e\d¦id2d“d3d“d4d.“d5d/“d6d7“d8d9“d:d “d;d<“d=d>“d?d@“dAdB“dCdD“dEdF“dGdH“dIdJ“dKdL“dMdN“dOdP“dQdR“dSdT“dUdV“dWdX“ŽZ]e	dYgdZ¢ƒZ^e	d[gd\¢ƒZ_e	d]gd^¢ƒZ`e	d_e`jad`ƒZbe	dadbdcgƒZce	dddedf decja¡ƒZee	dggdh¢ƒZfedidjdkdl„ƒZgdmdn„Zhedodp„ƒZidqdr„Zjdsdt„Zke&jlZldudv„Zmdwdx„Zndydz„Zod{d|„Zpd}d~„Zqdd€„Zrdd‚„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)ÚENCODING)Ú
ENCODING_ERRS)ÚAccessDenied)Ú
NoSuchProcess)ÚTimeoutExpired)Ú	conn_tmap)Úconn_to_ntuple)Údebug)Ú
isfile_strict)Úmemoize)Úmemoize_when_activated)Úparse_environ_block)Ú
usage_percent)ÚPY3)Úlong)Ú	lru_cache©Ú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__éÿÿÿÿÚ
AddressFamilyr)c@s$eZdZeZeZeZeZeZeZdS)ÚPriorityN)	Ú__name__Ú
__module__Ú__qualname__rrrrrr©r0r0ú8/tmp/pip-target-wec6zj2z/lib/python/psutil/_pswindows.pyr,nsr,ér c@seZdZdZdZdZdZdS)Ú
IOPriorityrrr2r N)r-r.r/r$r%r&r'r0r0r0r1r3~s
r3Únum_handlesÚctx_switchesÚ	user_timeÚkernel_timeÚcreate_timer!Ú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)ÚtotalÚ	availableÚpercentÚusedÚfreeÚpmem)ÚrssÚvmsrFrHrJrLrNZpeak_nonpaged_poolZ
nonpaged_poolrTrVÚprivateÚpfullmem)ÚussÚ
pmmap_groupedÚpathrgÚ	pmmap_extzaddr perms ú Úpio)Z
read_countZwrite_countÚ
read_bytesÚwrite_bytesÚother_countZother_bytesi)ÚmaxsizecCs@d | d¡dd…¡}t |¡}|t|ƒd…}tj ||¡S)zConvert paths using native DOS format like:
        "\Device\HarddiskVolume1\Windows\systemew\file.txt"
    into:
        "C:\Windows\systemew\file.txt"
    ú\Nr )ÚjoinÚsplitÚcextZQueryDosDeviceÚlenÚosrm)ÚsZrawdriveZdriveletterÚ	remainderr0r0r1Úconvert_dos_pathÁs
r}cCs"tr|St|tƒr|S| tt¡S)zmEncode a unicode string to a byte string by using the default fs
    encoding + "replace" error handler.
    N)rÚ
isinstanceÚstrÚencoderr)r{r0r0r1Ú
py2_strencodeÎs

rcCót ¡S©N)rxÚgetpagesizer0r0r0r1r„Ûór„cCsNt ¡}|\}}}}}}|}|}|}	||}
t|||dd}t||||
|	ƒS)z&System virtual memory as a namedtuple.r©Zround_N)rxÚvirtual_memrr`)ÚmemZtotphysZ	availphysZtotpagefZ
availpagefZtotvirtZfreevirtraZavailrerdrcr0r0r1Úvirtual_memoryåsr‰c	Csht ¡}|d}|d}|d}|d}||}t|||ƒ}||}t||dd}t ||||dd¡S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rrr2r r†N)rxr‡ÚminrrZsswap)	rˆZ
total_physZ	free_physZtotal_systemZfree_systemrarerdrcr0r0r1Úswap_memoryòsr‹cCsPtrt|tƒr|jtdd}t |¡\}}||}t||dd}t 	||||¡S)z'Return disk usage associated with path.Ústrict)Úerrorsrr†N)
rr~ÚbytesÚdecoderrxÚ
disk_usagerrZ
sdiskusage)rmrarerdrcr0r0r1rsrcCst |¡}dd„|DƒS)zReturn disk partitions.cSsg|]}tj|Ž‘qSr0)rZ	sdiskpart©Ú.0Úxr0r0r1Ú
<listcomp>óz#disk_partitions.<locals>.<listcomp>N)rxÚdisk_partitions)ÚallÚrawlistr0r0r1r–s
r–cCs<t ¡\}}}tdd„tt ¡ŽDƒŽ}t||||j|jƒS)z)Return system CPU times as a named tuple.cSóg|]}t|ƒ‘qSr0)Úsum)r’Únr0r0r1r”)ózcpu_times.<locals>.<listcomp>N)rxÚ	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.N)rxrŸrZÚappend)Úretr[r\r]r^r_Úitemr0r0r1rŸ.s
rŸcCr‚)z0Return the number of logical CPUs in the system.N)rxÚcpu_count_logicalr0r0r0r1r£7r…r£cCr‚)z-Return the number of CPU cores in the system.N)rxÚcpu_count_coresr0r0r0r1r¤<r…r¤cCs$t ¡\}}}}d}t ||||¡S)zReturn CPU statistics.rN)rxÚ	cpu_statsrZ	scpustats)r5Z
interruptsZdpcsZsyscallsZsoft_interruptsr0r0r1r¥As

ÿr¥cCs(t ¡\}}d}t t|ƒ|t|ƒ¡gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    çN)rxÚcpu_freqrZscpufreqÚfloat)ÚcurrZmax_Zmin_r0r0r1r§Is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”`r•zgetloadavg.<locals>.<listcomp>N)Ú_loadavg_inititializedrxZinit_loadavg_counterÚ
getloadavgÚtuple)Z	raw_loadsr0r0r1r­Us
r­cCsš|tvrtd|d dd„tDƒ¡fƒ‚t|\}}t |||¡}tƒ}|D]"}|\}}}	}
}}}
t|||	|
||t|dkr?|
ndd}| |¡q&t	|ƒ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, cSr™r0)Úreprr‘r0r0r1r”nrœz#net_connections.<locals>.<listcomp>r*N)Úpid)
r
Ú
ValueErrorrvrxÚnet_connectionsÚsetrÚTCP_STATUSESÚaddÚlist)ÚkindÚ_pidZfamiliesÚtypesr˜r¡r¢ÚfdÚfamÚtypeÚladdrÚraddrÚstatusr°Úntr0r0r1r²hsÿÿr²cCsxi}t ¡}| ¡D]/\}}tst|tƒsJt|ƒƒ‚t|ƒ}|\}}}}tt	dƒr/t	 
|¡}t	 ||||¡||<q
|S)z)Get NIC stats (isup, duplex, speed, mtu).Ú	NicDuplexN)rxÚnet_if_statsÚitemsrr~rr¼rÚhasattrrrÁZ	snicstats)r¡ZrawdictÚnamerÃZisupZduplexÚspeedZmtur0r0r1rÂzs

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”Žóz#net_io_counters.<locals>.<listcomp>N)rxÚnet_io_countersÚdictrér¡r0r0r1rˉsrËcCs8g}t ¡D]}t|ƒ}t|dƒ|d<| |¡q|S)z,Return the addresses associated to each NIC.rN)rxÚnet_if_addrsr¶rr )r¡rÃr0r0r1rΑsrÎcCsdt ¡\}}}}|dk}t|d@ƒ}t|d@ƒ}|rdS|s |r$tj}n|dkr+tj}t |||¡S)zReturn battery information.ré€r?Nr*)rxÚsensors_batteryÚboolrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)Z
acline_statusÚflagsrcZsecsleftZ
power_pluggedZ
no_batteryZchargingr0r0r1rРsrÐcCs(tt ¡ƒ}t|tƒdkrtS|a|S)z:The system boot time expressed in seconds since the epoch.rN)r¨rxÚ	boot_timeÚabsÚ_last_btimerÍr0r0r1rÓ¼s
rÓcCsHg}t ¡}|D]}|\}}}t|ƒ}t |d||d¡}| |¡q|S)z:Return currently connected users as a list of namedtuples.N)rxÚusersrrZsuserr )Úretlistr˜r¢r[ÚhostnameZtstamprÀr0r0r1rÖÊs
rÖccs,t ¡D]\}}tt|ƒt|ƒƒVqdS)z*Yields a list of WindowsService instances.N)rxZwinservice_enumerateÚWindowsServicer)rÅÚdisplay_namer0r0r1r"Ûs€ÿr"cCst|dƒ}| ¡d|_|S)zBOpen a Windows service and return it as a WindowsService instance.NrÚ)rÙÚ
_query_configÚ
_display_name)rÅZservicer0r0r1r#ás
r#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__ës
zWindowsService.__init__cCs d|j|jf}d|jj|fS)Nz(name=%r, display_name=%r)z%s%s)rÝrÜÚ	__class__r-)rÞÚdetailsr0r0r1Ú__str__ïsÿzWindowsService.__str__cCsd| ¡t|ƒfS)Nz
<%s at %s>)râÚid©rÞr0r0r1Ú__repr__ôszWindowsService.__repr__cCst|tƒstS|j|jkSrƒ)r~rÙÚNotImplementedrÝ©rÞÚotherr0r0r1Ú__eq__÷s
zWindowsService.__eq__cCs
||kSrƒr0rçr0r0r1Ú__ne__þs
zWindowsService.__ne__cCs\| ¡t |j¡\}}}}Wdƒn1swYtt|ƒt|ƒt|ƒt|ƒdS)N)rÚÚbinpathÚusernameÚ
start_type)Ú_wrap_exceptionsrxZwinservice_query_configrÝrÌr)rÞrÚrërìrír0r0r1rÛs

ÿÿüzWindowsService._query_configcCsP| ¡t |j¡\}}Wdƒn1swY|dkr"d}t||dS)Nr)r¿r°)rîrxZwinservice_query_statusrÝrÌ)rÞr¿r°r0r0r1Ú
_query_statuss
ÿzWindowsService._query_statusc
cspzdVWdSty7}z$t|ƒrtd|jd|jd‚|jtjtjfvr2td|jd|jd‚‚d}~ww)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ÝÚwinerrorrxZERROR_INVALID_NAMEZERROR_SERVICE_DOES_NOT_EXISTr©rÞÚerrr0r0r1rîs*€ÿþÿþ€ôzWindowsService._wrap_exceptionscCó|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.
        N)rÝrär0r0r1rÅ*szWindowsService.namecCr÷)z_The service display name. The value is cached when this class
        is instantiated.
        N)rÜrär0r0r1rÚ1szWindowsService.display_namecCó| ¡dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        rëN©rÛrär0r0r1rë7ózWindowsService.binpathcCrø)z,The name of the user that owns this service.rìNrùrär0r0r1rì=ózWindowsService.usernamecCrø)zRA string which can either be "automatic", "manual" or
        "disabled".
        ríNrùrär0r0r1ríArúzWindowsService.start_typecCrø)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        r°N©rïrär0r0r1r°IrúzWindowsService.pidcCrø)zService status as a string.r¿Nrürär0r0r1r¿OrûzWindowsService.statuscCstt | ¡¡ƒS)zService long description.N)rrxZwinservice_query_descrrÅrär0r0r1ÚdescriptionSózWindowsService.descriptioncCs>| ¡}| | ¡¡| ¡|d<| ¡|d<| ¡|d<|S)zUUtility method retrieving all the information above as a
        dictionary.
        rÅrÚrýN)rÛÚupdaterïrÅrÚrý)rÞÚdr0r0r1Úas_dictYszWindowsService.as_dictN)r-r.r/Ú__doc__rßrârårérêrÛrïÚ
contextlibÚcontextmanagerrîrÅrÚrërìrír°r¿rýrr0r0r0r1rÙès(
rÙcCs<t|tƒs	J|ƒ‚|jtjtjfvpt|ddƒtjtjfvS)z*Return True if this is a permission error.rôr*N)	r~ròÚerrnoÚEPERMÚEACCESÚgetattrrxZERROR_ACCESS_DENIEDZERROR_PRIVILEGE_NOT_HELD)Úexcr0r0r1ró–sÿÿrócCsBt|tƒs	J|ƒ‚t|ƒrt||dS|jtjkrt||dS|‚)z3Convert OSError into NoSuchProcess or AccessDenied.©r°rÅN)r~ròrórrZESRCHr)r	r°rÅr0r0r1Úconvert_oserror¡srcót ˆ¡‡fdd„ƒ}|S)zDDecorator which converts OSError into NoSuchProcess or AccessDenied.c
sDzˆ|g|¢Ri|¤ŽWSty!}z	t||j|jd‚d}~ww)Nr
)ròrr°rÝ)rÞÚargsÚkwargsrö©Úfunr0r1Úwrapper­s€ÿz wrap_exceptions.<locals>.wrapperN©Ú	functoolsÚwraps©rrr0rr1Úwrap_exceptions«srcr)z€Workaround for https://github.com/giampaolo/psutil/issues/875.
    See: https://stackoverflow.com/questions/4457745#4457745
    c	sžd}d}t|ƒD]6}zˆ|g|¢Ri|¤ŽWSty>}z|}|jtkr9t |¡t|ddƒ}WYd}~q‚d}~wwdˆ||f}t|j|j	|d‚)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ÚsleeprŠrr°rÝ)	rÞr
rÚdelayÚtimesr“Ú_rörñrr0r1rºs$

€ù	ÿz)retry_error_partial_copy.<locals>.wrapperNrrr0rr1Úretry_error_partial_copy¶sr!c@sÀeZdZdZgd¢Zdd„Zdd„Zdd„Zed	d
„ƒZ	dd„Z
eed
d„ƒƒZee
dd„ƒƒZee
dd„ƒƒZdd„Zdd„Zedd„ƒZedd„ƒZdd„Zedd„ƒZedd „ƒZedMd"d#„ƒZed$d%„ƒZed&d'„ƒZed(d)„ƒZed*d+„ƒZed,d-„ƒZed.d/„ƒZed0d1„ƒZee
d2d3„ƒƒZed4d5„ƒZ edNd7d8„ƒZ!ed9d:„ƒZ"ed;d<„ƒZ#ed=d>„ƒZ$ed?d@„ƒZ%edAdB„ƒZ&edCdD„ƒZ'edEdF„ƒZ(edGdH„ƒZ)edIdJ„ƒZ*edKdL„ƒZ+d!S)OÚProcessz1Wrapper class around underlying C implementation.)r°rÝÚ_ppidÚ_cachecCs||_d|_d|_dSrƒ)r°rÝr#)rÞr°r0r0r1rßÕs
zProcess.__init__cCó|j |¡|j |¡dSrƒ)Ú
_proc_infoZcache_activateÚexerär0r0r1Ú
oneshot_enterÜózProcess.oneshot_entercCr%rƒ)r&Zcache_deactivater'rär0r0r1Úoneshot_exitàr)zProcess.oneshot_exitcCs$t |j¡}t|ƒttƒksJ‚|S)zOReturn multiple information about this process as a
        raw tuple.
        N)rxZ	proc_infor°ryÚ	pinfo_map©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!ÚSystemN)r°rzrmÚbasenamer'rär0r0r1rÅís


zProcess.namec
Cs‚tr*zt |j¡}Wn%ty)}z|jdkr$td|ƒt|j|jƒ‚‚d}~wwt |j¡}t	s6t
|ƒ}| d¡r?t|ƒS|S)Néz%r translated into AccessDeniedru)
ÚPYPYrxZproc_exer°rrrrrÝrrÚ
startswithr})rÞr'rör0r0r1r'ùs 
€ú
zProcess.exec
Csˆtjtjkr1z
tj|jdd}Wn(ty0}zt|ƒr%tj|jdd}n‚WYd}~n
d}~wwtj|jdd}tr=|Sdd„|DƒS)NT)Zuse_pebFcSr™r0rÇ)r’r{r0r0r1r” rœz#Process.cmdline.<locals>.<listcomp>)rxZWINVERZWINDOWS_8_1Zproc_cmdliner°ròrór)rÞr¡rör0r0r1Úcmdlinesþ€þzProcess.cmdlinecCs6t |j¡}|rtst|tƒsJt|ƒƒ‚tt|ƒƒSrƒ)	rxZproc_environr°rr~rr¼rr)rÞZustrr0r0r1Úenviron"szProcess.environcCs,ztƒ|jWStyt|j|jƒ‚wrƒ)Úppid_mapr°ÚKeyErrorrrÝrär0r0r1Úppid*s
ÿzProcess.ppidcCs®zt |j¡WStyV}zCt|ƒrQ| ¡}|td|td|td|td|td|td|td|td|td	|td
f
WYd}~S‚d}~ww)NrFrHrJrLrNrPrRrTrVrX)rxZproc_memory_infor°ròrór&r+)rÞröÚinfor0r0r1Ú_get_raw_meminfo0s&









ö€ïzProcess._get_raw_meminfocCs(| ¡}|d}|d}t||f|ŽS)Nr2r=)r8rf)rÞÚtrgrhr0r0r1Úmemory_infoFszProcess.memory_infocCs,| ¡}t |j¡}|tƒ9}t||fŽSrƒ)r:rxZproc_memory_ussr°r„rj)rÞZ	basic_memrkr0r0r1Úmemory_full_infoPs
zProcess.memory_full_infoc
cs|zt |j¡}Wnty}zt||j|jƒ‚d}~ww|D]\}}}}t|ƒ}ts0t|ƒ}t	|ƒ}||||fVq dSrƒ)
rxZproc_memory_mapsr°ròrrÝr}rrÚhex)rÞÚrawröÚaddrÚpermrmrgr0r0r1Úmemory_mapsWs€€ýûzProcess.memory_mapscCst |j¡Srƒ)rxÚ	proc_killr°rär0r0r1ÚkillfrûzProcess.killcCsT|tjkr
t |j¡dS|ttdtƒƒttdtƒƒfvr&t |j|¡dSt	dƒ‚)NZCTRL_C_EVENTZCTRL_BREAK_EVENTzPonly SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals are supported on Windows)
ÚsignalÚSIGTERMrxrAr°rÚobjectrzrBr±)rÞÚsigr0r0r1Úsend_signaljs
ÿÿzProcess.send_signalNcCsØ|durtj}nt|dƒ}ttdtjƒ}|dur|ƒ|nd}z	t |j|¡}Wntjy9t||j|jƒ‚tj	yDd}Ynwd}	t
|jƒsO|S|r_|ƒ|kr_t||j|jd‚t |¡t|ddƒ}qH)NièÚ	monotonicrTr
r2r)
rxZINFINITEÚintrrZ	proc_waitr°r	rÝZTimeoutAbandonedÚ
pid_existsrrŠ)rÞÚtimeoutZcext_timeoutÚtimerZstop_atZ	exit_coderr0r0r1Úwaitws*	÷

úzProcess.waitcCs2|jdvrdSt |j¡\}}t|ƒdt|ƒS)N©rr!zNT AUTHORITY\SYSTEMru)r°rxZ
proc_usernamer)rÞÚdomainr[r0r0r1rì¢s
zProcess.usernamec
CsXzt |j¡\}}}|WSty+}zt|ƒr&| ¡tdWYd}~S‚d}~ww)Nr8)rxÚ
proc_timesr°ròrór&r+)rÞr[r\Úcreatedrör0r0r1r8©s€ýzProcess.create_timecCs| ¡tdS)Nr9)r&r+rär0r0r1r9µszProcess.num_threadscCs<t |j¡}g}|D]\}}}t |||¡}| |¡q
|Srƒ)rxZproc_threadsr°rZpthreadr )rÞr˜r×Ú	thread_idÚutimeZstimeÚntupler0r0r1Úthreads¹szProcess.threadsc
Csvzt |j¡\}}}Wn'ty2}zt|ƒs‚| ¡}|td}|td}WYd}~nd}~wwt ||dd¡S)Nr6r7r¦)	rxrPr°ròrór&r+rZ	pcputimes)rÞr[r\rQrör7r0r0r1rÂs€ûzProcess.cpu_timescCót |jd¡dS)NT©rxZproc_suspend_or_resumer°rär0r0r1ÚsuspendÏrþzProcess.suspendcCrV)NFrWrär0r0r1ÚresumeÓrþzProcess.resumecCs4|jdvrt|j|jƒ‚t |j¡}ttj |¡ƒS)NrN)	r°rrÝrxZproc_cwdrrzrmÚnormpath)rÞrmr0r0r1Úcwd×s
zProcess.cwdcCsd|jdvrgStƒ}t |j¡}|D]}t|ƒ}t|ƒr-ts"t|ƒ}t 	|d¡}| 
|¡qt|ƒS)NrNr*)r°r³rxZproc_open_filesr}r
rrrZ	popenfilerµr¶)rÞr¡Zraw_file_namesÚ_filerTr0r0r1Ú
open_filesás

€zProcess.open_filesÚinetcCst||jdS)N)r¸)r²r°)rÞr·r0r0r1ÚconnectionsôózProcess.connectionscCó t |j¡}tdurt|ƒ}|Srƒ)rxZproc_priority_getr°Úenumr,©rÞÚvaluer0r0r1Únice_getøózProcess.nice_getcCst |j|¡Srƒ)rxZproc_priority_setr°rcr0r0r1Únice_setÿr`zProcess.nice_setcCrarƒ)rxZproc_io_priority_getr°rbr3r,r0r0r1Ú
ionice_getrfzProcess.ionice_getcCs:|rtdƒ‚|ttttfvrtd|ƒ‚t |j|¡dS)Nz&value argument not accepted on Windowsz%s is not a valid priority)	Ú	TypeErrorr$r%r&r'r±rxZproc_io_priority_setr°)rÞZioclassrdr0r0r1Ú
ionice_set
sÿzProcess.ionice_setcCs”zt |j¡}Wt|ŽStyI}z2t|ƒs‚| ¡}|td|td|td|td|td|tdf}WYd}~t|ŽSd}~ww)Nr;r<r>r@rBrD)rxZproc_io_countersr°ròrór&r+rp)rÞr¡rör7r0r0r1Úio_counterss"
ô





ú€ôzProcess.io_counterscCst |j¡}|rtjStjSrƒ)rxZproc_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”0rÊzBProcess.cpu_affinity_get.<locals>.from_bitmask.<locals>.<listcomp>é@rrmr0rmr1Úfrom_bitmask/sz.Process.cpu_affinity_get.<locals>.from_bitmask)rxZproc_cpu_affinity_getr°)rÞroÚbitmaskr0r0r1Úcpu_affinity_get-szProcess.cpu_affinity_getcCsldd„}ttttƒƒƒƒ}|D]}||vr(t|ttfƒs"td|ƒ‚td|ƒ‚q||ƒ}t	 
|j|¡dS)NcSs.|std|ƒ‚d}|D]}|d|O}q|S)Nzinvalid argument %rrr2)r±)ZlsÚoutÚbr0r0r1Ú
to_bitmask6sz,Process.cpu_affinity_set.<locals>.to_bitmaskz&invalid CPU %r; an integer is requiredzinvalid CPU %r)r¶rryrŸr~rIrrir±rxZproc_cpu_affinity_setr°)rÞrdrtZallcpusÚcpurpr0r0r1Úcpu_affinity_set4sÿûzProcess.cpu_affinity_setc
CsNzt |j¡WSty&}zt|ƒr!| ¡tdWYd}~S‚d}~ww)Nr4)rxZproc_num_handlesr°ròrór&r+rõr0r0r1r4Ms€ýzProcess.num_handlescCs| ¡td}t |d¡S)Nr5r)r&r+rZpctxsw)rÞr5r0r0r1Únum_ctx_switchesVszProcess.num_ctx_switchesrƒ)r^),r-r.r/rÚ	__slots__rßr(r*rr&rÅrr'r!r2r3r6r8r:r;r@rBrGrMrìr8r9rUrrXrYr[r]r_rergrhrjrkr¿rqrvr4rwr0r0r0r1r"Ðs

	


*
















r"r0)r*)NN)‹rrrrrzrCÚsysrÚcollectionsrÚrrrrrr	r
rrr
rrrrZ_compatrrrrrrrrrrrrrxÚImportErrorrörÚlowerr1ÚgetwindowsversionrñÚRuntimeErrorÚversion_inforbZ__extra__all__r(rÚbuiltin_module_namesr0r)Ú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Ìr+rZr`rfÚ_fieldsrjrlrvrnrpr}rr„r‰r‹Zdisk_io_countersrr–rrŸr£r¤r¥r§r¬r­r²rÂrËrÎrÐrÕrÓrÖr"r#rErÙZpidsrJr4rórrr!r"r0r0r0r1Ú<module>sdÿ€ô



ó

ÿþýüûúùø	÷
öõô
óòñðïîíìëê ÿÿÿ


	
		
*