HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/psutil/__pycache__/_pswindows.cpython-310.pyc
o

�N�g��@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)�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__����
AddressFamilyr)c@s$eZdZeZeZeZeZeZeZdS)�PriorityN)	�__name__�
__module__�__qualname__rrrrrr�r0r0�E/opt/saltstack/salt/lib/python3.10/site-packages/psutil/_pswindows.pyr,msr,�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)�totalZ	available�percent�used�free�pmem)�rss�vmsrFrHrJrLrNZpeak_nonpaged_poolZ
nonpaged_poolrTrVZprivate�pfullmem)�uss�
pmmap_grouped�pathrf�	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�cextZwin32_QueryDosDevice�len�osrk)�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.
    )r�
isinstance�str�encoder	r
)ryr0r0r1�
py2_strencode�s

rcC�t��S�N)rv�getpagesizer0r0r0r1r���r�cCsNt��}|\}}}}}}|}|}|}	||}
t|||dd�}t||||
|	�S)z&System virtual memory as a namedtuple.r�Zround_)rv�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 rr�r)rvr�rrZsswap)r�rardrcrbr0r0r1�swap_memory�sr�cCsPtrt|t�r|jtdd�}t�|�\}}||}t||dd�}t�	||||�S)z'Return disk usage associated with path.�strict)�errorsrr�)
rr|�bytes�decoder	rv�
disk_usagerrZ
sdiskusage)rkrardrcrbr0r0r1r�sr�cCst�|�}dd�|D�S)zReturn disk partitions.cSsg|]}tj|��qSr0)rZ	sdiskpart��.0�xr0r0r1�
<listcomp>�z#disk_partitions.<locals>.<listcomp>)rv�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>)rv�	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.)rvr�rZ�append)�retr[r\r]r^r_�itemr0r0r1r�%s
r�cCr�)z0Return the number of logical CPUs in the system.)rv�cpu_count_logicalr0r0r0r1r�.r�r�cCr�)z6Return the number of physical CPU cores in the system.)rvZcpu_count_physr0r0r0r1�cpu_count_physical3r�r�cCs$t��\}}}}d}t�||||�S)zReturn CPU statistics.r)rv�	cpu_statsrZ	scpustats)r5Z
interruptsZdpcsZsyscallsZsoft_interruptsr0r0r1r�8s

�r�cCs(t��\}}d}t�t|�|t|��gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    �)rv�cpu_freqrZscpufreq�float)�currZmax_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�Wr�zgetloadavg.<locals>.<listcomp>)�_loadavg_inititializedrvZinit_loadavg_counter�
getloadavg�tuple)Z	raw_loadsr0r0r1r�Ls
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�er�z#net_connections.<locals>.<listcomp>r*N)�pid)
r�
ValueErrorrtrv�net_connections�setr�TCP_STATUSES�add�list)�kind�_pidZfamilies�typesr�r�r��fdZfam�type�laddr�raddr�statusr��ntr0r0r1r�_s��r�cCsxi}t��}|��D]/\}}tst|t�sJt|���t|�}|\}}}}tt	d�r/t	�
|�}t	�||||�||<q
|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplex)rv�net_if_stats�itemsrr|rr�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���z#net_io_counters.<locals>.<listcomp>)rv�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)rv�net_if_addrsr�rr�)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*)rv�sensors_battery�boolrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)Z
acline_status�flagsrbZsecsleftZ
power_pluggedZ
no_batteryZchargingr0r0r1r��sr�cCs(tt���}t|t�dkrtS|a|S)z:The system boot time expressed in seconds since the epoch.r)r�rv�	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)rv�usersrrZsuserr�)�retlistr�r�r[�hostnameZtstampr�r0r0r1r��s
r�ccs,�t��D]\}}tt|�t|��VqdS)z*Yields a list of WindowsService instances.N)rvZwinservice_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_exceptionsrvZwinservice_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�rvZwinservice_query_statusr�r�)r�r�r�r0r0r1�
_query_statuss
�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��winerrorrvZERROR_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.
        )r�r�r0r0r1r�!szWindowsService.namecCr�)z_The service display name. The value is cached when this class
        is instantiated.
        )r�r�r0r0r1r�(szWindowsService.display_namecC�|��dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        r��r�r�r0r0r1r�.�zWindowsService.binpathcCr�)z,The name of the user that owns this service.r�r�r�r0r0r1r�4�zWindowsService.usernamecCr�)zRA string which can either be "automatic", "manual" or
        "disabled".
        r�r�r�r0r0r1r�8r�zWindowsService.start_typecCr�)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        r��r�r�r0r0r1r�@r�zWindowsService.pidcCr�)zService status as a string.r�r�r�r0r0r1r�Fr�zWindowsService.statuscCstt�|����S)zService long description.)rrvZwinservice_query_descrr�r�r0r0r1�descriptionJ�zWindowsService.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�s	J|��|jtjtjfvpt|dd�tjtjfvS)z*Return True if this is a permission error.r�r*)	r|r��errno�EPERMZEACCES�getattrrvZERROR_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�)r|r�r�rrZESRCHr)rr�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>.wrapper��	functools�wraps�r
rr0r	r1�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�sleep�minrr�r�)	r�rr�delay�timesr��_r�r�r	r0r1r�s$

��	�z)retry_error_partial_copy.<locals>.wrapperrrr0r	r1�retry_error_partial_copy�src@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.
        )rvZ	proc_infor�rw�	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!�System)r�rxrk�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 forced into AccessDeniedrs)
�PYPYrvZproc_exer�rrrrr�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�ryr0r0r1r�r�z#Process.cmdline.<locals>.<listcomp>)rvZWINVERZWINDOWS_8_1Zproc_cmdliner�r�r�r)r�r�r�r0r0r1�cmdlines���zProcess.cmdlinecCs6t�|j�}|rtst|t�sJt|���tt|��Sr�)	rvZproc_environr�rr|rr�rr)r�Zustrr0r0r1�environs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)rvZproc_memory_infor�r�r�r!r&)r�r��infor0r0r1�_get_raw_meminfo's&









���zProcess._get_raw_meminfocCs(|��}|d}|d}t||f|�S)Nr2r=)r3re)r��trfrgr0r0r1�memory_info=szProcess.memory_infocCs,|��}t�|j�}|t�9}t||f�Sr�)r5rvZproc_memory_ussr�r�rh)r�Z	basic_memrir0r0r1�memory_full_infoGs
zProcess.memory_full_infoc
cs|�zt�|j�}Wnty}zt||j|j��d}~ww|D]\}}}}t|�}ts0t|�}t	|�}||||fVq dSr�)
rvZproc_memory_mapsr�r�rr�r{rr�hex)r��rawr��addr�permrkrfr0r0r1�memory_mapsNs����zProcess.memory_mapscCst�|j�Sr�)rv�	proc_killr�r�r0r0r1�kill]r�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�SIGTERMrvr<r�r�objectrxr=r�)r��sigr0r0r1�send_signalas
��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��	monotonicrTrr2r)
rvZINFINITE�intrrZ	proc_waitr�rr�ZTimeoutAbandoned�
pid_existsrr)r��timeoutZcext_timeoutZtimerZstop_atZ	exit_coderr0r0r1�waitns*	�

�zProcess.waitcCs2|jdvrdSt�|j�\}}t|�dt|�S)N�rr!zNT AUTHORITY\SYSTEMrs)r�rvZ
proc_usernamer)r��domainr[r0r0r1r��s
zProcess.usernamec
CsXzt�|j�\}}}|WSty+}zt|�r&|��tdWYd}~S�d}~ww)Nr8)rv�
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�)rvZproc_threadsr�rZpthreadr�)r�r�r�Z	thread_id�utimeZstime�ntupler0r0r1�threads�szProcess.threadsc
Csvzt�|j�\}}}Wn'ty2}zt|�s�|��}|td}|td}WYd}~nd}~wwt�||dd�S)Nr6r7r�)	rvrJr�r�r�r!r&rZ	pcputimes)r�r[r\rKr�r2r0r0r1r��s��zProcess.cpu_timescC�t�|jd�dS)NT�rvZproc_suspend_or_resumer�r�r0r0r1�suspend�r�zProcess.suspendcCrO)NFrPr�r0r0r1�resume�r�zProcess.resumecCs4|jdvrt|j|j��t�|j�}ttj�|��S)NrH)	r�rr�rvZproc_cwdrrxrk�normpath)r�rkr0r0r1�cwd�s
zProcess.cwdcCsd|jdvrgSt�}t�|j�}|D]}t|�}t|�r-ts"t|�}t�	|d�}|�
|�qt|�S)NrHr*)r�r�rvZproc_open_filesr{rrrrZ	popenfiler�r�)r�r�Zraw_file_namesZ_filerMr0r0r1�
open_files�s

�zProcess.open_files�inetcCst||jd�S)N)r�)r�r�)r�r�r0r0r1�connections��zProcess.connectionscC� t�|j�}tdurt|�}|Sr�)rvZproc_priority_getr��enumr,�r��valuer0r0r1�nice_get��zProcess.nice_getcCst�|j|�Sr�)rvZproc_priority_setr�r[r0r0r1�nice_set�rXzProcess.nice_setcCrYr�)rvZproc_io_priority_getr�rZr3r'r0r0r1�
ionice_get�r^zProcess.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�rvZproc_io_priority_setr�)r�Zioclassr\r0r0r1�
ionice_sets�zProcess.ionice_setcCs�zt�|j�}Wt|�StyI}z2t|�s�|��}|td|td|td|td|td|tdf}WYd}~t|�Sd}~ww)Nr;r<r>r@rBrD)rvZproc_io_countersr�r�r�r!r&rn)r�r�r�r2r0r0r1�io_counters
s"
�





���zProcess.io_counterscCst�|j�}|rtjStjSr�)rvZproc_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�'r�zBProcess.cpu_affinity_get.<locals>.from_bitmask.<locals>.<listcomp>�@rrer0rer1�from_bitmask&sz.Process.cpu_affinity_get.<locals>.from_bitmask)rvZproc_cpu_affinity_getr�)r�rg�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_bitmask-sz,Process.cpu_affinity_set.<locals>.to_bitmaskz&invalid CPU %r; an integer is requiredzinvalid CPU %r)r�rrwr�r|rDrrar�rvZproc_cpu_affinity_setr�)r�r\rlZallcpusZcpurhr0r0r1�cpu_affinity_set+s��zProcess.cpu_affinity_setc
CsNzt�|j�WSty&}zt|�r!|��tdWYd}~S�d}~ww)Nr4)rvZproc_num_handlesr�r�r�r!r&r�r0r0r1r4Ds��zProcess.num_handlescCs|��td}t�|d�S)Nr5r)r!r&rZpctxsw)r�r5r0r0r1�num_ctx_switchesMszProcess.num_ctx_switchesr�)rV),r-r.r/r��	__slots__r�r#r%r
r!r�rr"rr-r.r1r3r5r6r;r=rBrGr�r8r9rNr�rQrRrTrUrWr]r_r`rbrcr�rirmr4rnr0r0r0r1r�s�

	


*
















rr0)r*)NN)�r�r�rr
rxr>�sysr�collectionsr�rrrrrr	r
rrr
rrrrZ_compatrrrrrrrrrrrrrv�ImportErrorr�r}�lowerr,�getwindowsversionr��RuntimeError�version_inforZZ__extra__all__r(r�builtin_module_namesr+r)�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`re�_fieldsrhrjrtrlrnr{rr�r�r�Zdisk_io_countersr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r"r#r@r�ZpidsrEr/r�rrrrr0r0r0r1�<module>sb��



�

��������	�
���
���������� ���


	
		
*