hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
Ë
IñúhD|ãó
—dZddlZddlZddlZddlZddlmZddlmZddlm    Z    ddl
m Z ddl
m Z dd    l
m Zdd
l
mZdd l mZdd l mZdd l mZddl mZddl mZddl mZddl mZddl mZddl mZddl mZddl mZddl mZgZeržej<e j>ej@e jBejDe jFejHe jJejLe jNejPe jRejTe jViZ,n'erej<e j>ejDe jFejHe jJejZe jNejLe jNej@e j\ej^e jBiZ,nˆer†ej<e j>ejDe jFejHe jJejLe jNej@e j\ej^e jBiZ,ej`e jbejde jfejhe jjejle jnejpe jrejte jvejxe jzej|e j~ej€e j‚ej„e j†ejˆe jŠejŒe jŽi ZHej’«ZJej–ZKeLed«ZMeNdsidd“dd“dd“dd“dd“d d!“d"d#“d$d%“d&d'“d(d)“d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“ŽZOedHgdI¢«ZPedJgdK¢«ZQedLgdM¢«ZReRZSedNgdO¢«ZTedPdQ«ZUedRdS«ZVer edTgdU¢«ZWn edTgdV¢«ZWdW„ZXdX„ZYdY„ZZdZ„Z[d[„Z\eserd\„Z]nd]„Z]d^„Z^erd_„Z_nerd`„Z_dtda„Z`e jÂZaejÄZbejÆZcejÈZddb„Zedc„Zferdd„Zgde„Zhdf„Zier     ei«Zjdh„Zmdi„Znedj„«Zodk„Zperdl„Zqnerdm„Zqn e jâZqdn„Zrdo„Zsejèdp„«ZuGdq„dr«Zvy#ek$rZledgel›«dZjYdZl[lŒcdZl[lwwxYw)uz5FreeBSD, OpenBSD and NetBSD platforms implementation.éN)Ú defaultdict)Ú
namedtuple)Ú ElementTreeé)Ú_common)Ú_psposix)Ú _psutil_bsd)Ú _psutil_posix)ÚFREEBSD)ÚNETBSD)ÚOPENBSD)Ú AccessDenied)Ú NoSuchProcess)Ú ZombieProcess)Ú    conn_tmap)Úconn_to_ntuple)Údebug)Úmemoize)Úmemoize_when_activated)Ú usage_percentÚproc_num_threadsÚppidÚstatusÚreal_uidéÚ effective_uidéÚ    saved_uidéÚreal_gidéÚ effective_gidéÚ    saved_gidéÚttynréÚ create_timeé    Úctx_switches_volé
Úctx_switches_unvolé Ú read_io_counté Úwrite_io_counté Ú    user_timeéÚsys_timeéÚ ch_user_timeéÚ ch_sys_timeéÚrsséÚvmséÚmemtextéÚmemdataéÚmemstackéÚcpunuméÚnameéÚsvmem) ÚtotalÚ    availableÚpercentÚusedÚfreeÚactiveÚinactiveÚbuffersÚcachedÚsharedÚwiredÚ    scputimes©ÚuserÚniceÚsystemÚidleÚirqÚpmem)r:r<ÚtextÚdataÚstackÚ    pcputimes)rVrXÚ children_userÚchildren_systemÚ pmmap_groupedú*path rss, private, ref_count, shadow_countÚ    pmmap_extú6addr, perms path rss, private, ref_count, shadow_countÚsdiskio)Ú
read_countÚ write_countÚ
read_bytesÚ write_bytesÚ    read_timeÚ
write_timeÚ    busy_time)rgrhrirjc óö—tj«}tr“|\}}}}}}tdd«5}|D]d}|j    d«r t |j «d«dz}    Œ4|j    d«sŒFt |j «d«dz}
Œf    ddd«||z} || z
} n|\}}}}}}}    }
||z|z} ||z|z} t|| z
|d¬«} t|| | | |||    |
|« S#1swYŒUxYw)Nz /proc/meminfoÚrbsBuffers:ris
MemShared:©Úround_)    ÚcextÚ virtual_memr ÚopenÚ
startswithÚintÚsplitrrH)ÚmemrIrMrNrOrSrQÚfÚlinerPrRrLÚavailrKs              ú@H:\Change_password\venv_build\Lib\site-packages\psutil/_psbsd.pyÚvirtual_memoryr}®s*€Ü
€CÝ Ø7:Ñ4ˆˆtV˜X u¨fô/ 4Ó (ð    9¨AØò 9Ø—?‘? ;Ô/Ü! $§*¡*£,¨q¡/Ó2°TÑ9‘GØ—_‘_ ]Õ3Ü  §¡£¨a¡Ó1°DÑ8‘Fñ     9÷    9ð˜‰~ˆØ˜‘ ‰àHKÑEˆˆtV˜X u¨f°g¸vð ˜6Ñ! DÑ(ˆØ˜‰~ Ñ&ˆä˜U U™]¨U¸1Ô=€GÜ Ø Ø ØØ Ø ØØØØØØ ó ð ÷5    9ð    9ús°AC/Á9!C/Ã/C8có†—tj«\}}}}}t||d¬«}tj||||||«S)z@System swap memory as (total, used, free, sin, sout) namedtuple.rrp)rrÚswap_memrrÚsswap)rIrLrMÚsinÚsoutrKs      r|Ú swap_memoryrƒÝs?€ä#'§=¡=£?Ñ €Eˆ4s˜DܘD %°Ô2€GÜ =‰=˜  d¨G°S¸$Ó ?Ð?ócóT—tj«\}}}}}t|||||«S)z,Return system per-CPU times as a namedtuple.)rrÚ    cpu_timesrTrUs     r|r†r†és,€ä$(§N¡NÓ$4Ñ!€Dˆ$˜˜cÜ T˜4 ¨¨sÓ 3Ð3r„cóŒ—g}tj«D]*}|\}}}}}t|||||«}|j|«Œ,|S)z(Return system CPU times as a namedtuple.)rrÚ per_cpu_timesrTÚappend)ÚretÚcpu_trVrWrXrYrZÚitems        r|rˆrˆïsT€à
€CÜ×#Ñ#Ó%òˆØ(-Ñ%ˆˆdF˜D #ܘ˜t V¨T°3Ó7ˆØ 
‰
4Õðð €Jr„có*—tj«S)z0Return the number of logical CPUs in the system.)rrÚcpu_count_logical©r„r|rŽrŽùs€ä × !Ñ !Ó #Ð#r„có$—t«dk(rdSdS)Nr)rŽrr„r|Úcpu_count_coresr‘s€ä%Ó'¨1Ò,ˆqÐ6°$Ð6r„cóD—d}tj«}|b|jd«}|dk7rL|d|dz}tj|«}    t |j d««xsd}|j«|st«dk(ry|S#|j«wxYw)z-Return the number of CPU cores in the system.Nz    </groups>éÿÿÿÿr)zgroup/children/group/cpur)    rrÚ cpu_topologyÚrfindrÚ
fromstringÚlenÚfindallÚclearrŽ)rŠÚsÚindexÚroots    r|r‘r‘sœ€ðˆÜ × Ñ Ó ˆØ ˆ=à—G‘G˜KÓ(ˆEؘŠ{ؐk˜ ™    NÜ"×-Ñ-¨aÓ0ð!ܘdŸl™lÐ+EÓFÓGÒOÈ4Cð—J‘J”LÙä Ó" aÒ'ØØˆ
øð —J‘J•Lús Á B  Bcó¬—trtj«\}}}}}ntrhtj«\}}}}}}}t    dd«5}|D]0}|j d«sŒt |j«d«}Œ2    ddd«n"trtj«\}}}}}}}tj«S#1swYŒ!xYw)z*Return various CPU stats as a named tuple.z
/proc/statrosintrrN) r rrÚ    cpu_statsr rtrurvrwr rÚ    scpustats)    ÚctxswÚintrsÚ
soft_intrsÚsyscallsÚ_trapsÚ_faultsÚ_forksryrzs             r|ržrž!sրåô6:·^±^Ó5EÑ2ˆˆuj (©FÝ    ô N‰NÓ ñ    Dˆˆuj (¨F°G¸Vô, Ó %ð    1¨Øò 1Ø—?‘? 7Õ+Ü §
¡
£ ¨Q¡Ó0‘Eñ 1÷    1ð    1õ
ô N‰NÓ ñ    Dˆˆuj (¨F°G¸Vô × Ñ ˜U E¨:°xÓ @Ð@÷    1ð    1úsÁC
Á(C
Ccóú—g}t«}t|«D]£}    tj|«\}}|r`    t |j d«dj d«d«}    t |j d«dj d«d«}|jtj|««Œ¥|S#t$rYŒ³wxYw#ttf$rd}YŒ|wxYw#ttf$rd}YŒcwxYw)zªReturn 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ŽÚrangerrÚcpu_freqÚNotImplementedErrorrvrwÚ
IndexErrorÚ
ValueErrorr‰rÚscpufreq)rŠÚnum_cpusÚcpuÚcurrentÚavailable_freqÚmin_freqÚmax_freqs       r|r«r«Cs €ð
ˆÜ$Ó&ˆÜ˜“?ò    FˆCð Ü*.¯-©-¸Ó*<Ñ'˜ñð$Ü" >×#7Ñ#7¸Ó#<¸RÑ#@×#FÑ#FÀsÓ#KÈAÑ#NÓOHð$Ü" >×#7Ñ#7¸Ó#<¸QÑ#?×#EÑ#EÀcÓ#JÈ1Ñ#MÓNHð J‰J”w×'Ñ'¨°¸8ÓDÕ Eð    Fðˆ
øô'ò Ùð ûô
#¤JÐ/ò$Ø#’Hð$ûô#¤JÐ/ò$Ø#’Hð$ús4œC·/CÁ'/C&à   C à C ÃC#Ã"C#Ã&C:Ã9C:cól—ttj««}tj|dd«gS)Ng)Úfloatrrr«rr¯)Úcurrs r|r«r«]s*€Ü”T—]‘]“_Ó%ˆÜ× Ñ   s¨CÓ0Ð1Ð1r„có —g}tj«}|D]2}|\}}}}tj||||«}|j    |«Œ4|S)z•Return mounted disk partitions as a list of namedtuples.
    'all' argument is ignored, see:
    https://github.com/giampaolo/psutil/issues/906.
    )rrÚdisk_partitionsrÚ    sdiskpartr‰)    ÚallÚretlistÚ
partitionsÚ    partitionÚdeviceÚ
mountpointÚfstypeÚoptsÚntuples             r|rºrºgs]€ð
€GÜ×%Ñ%Ó'€JØòˆ    Ø+4Ñ(ˆ
˜F DÜ×"Ñ" 6¨:°v¸tÓDˆØ‰vÕðð €Nr„cóâ—t«j«}i}|D]›}    tj|«}tj|«}tj
|«\}}t td«rtj|«}dj|«}d|v}tj|||||«||<Œ|S#t$r(}    |    jtjk7r‚Yd}    ~    ŒÌd}    ~    wwxYw)z)Get NIC stats (isup, duplex, speed, mtu).Ú    NicDuplexú,ÚrunningN)Únet_io_countersÚkeysÚ
cext_posixÚ
net_if_mtuÚ net_if_flagsÚnet_if_duplex_speedÚhasattrrrÆÚjoinÚ    snicstatsÚOSErrorÚerrnoÚENODEV)
ÚnamesrŠrFÚmtuÚflagsÚduplexÚspeedÚ output_flagsÚisupÚerrs
          r|Ú net_if_statsr݂sã€ä Ó × "Ñ "Ó $€EØ
€CØòˆð    Ü×'Ñ'¨Ó-ˆCÜ×+Ñ+¨DÓ1ˆEÜ&×:Ñ:¸4Ó@‰MˆFEô ”w  Ô,Ü ×*Ñ*¨6Ó2ØŸ8™8 E›?ˆLØ Ð%ˆDÜ×)Ñ)ؐf˜e S¨,óˆCŠIðð" €Jøôò    ày‰yœEŸL™LÒ(Øô)ûð    ús¡AB=Â=    C.ÃC)Ã)C.c óV—t|\}}t«}trtjd||«}n3t
rtjd|«}ntj||«}|D]3}|\}}}}    }
} } t ||||    |
| t| «} |j| «Œ5t|«S)z System-wide network connections.r“)
rÚsetr rrÚnet_connectionsr rÚ TCP_STATUSESÚaddÚlist)ÚkindÚfamiliesÚtypesrŠÚrawlistrŒÚfdÚfamÚtypeÚladdrÚraddrrÚpidÚnts              r|ràràšs«€ä ‘oO€HˆeÜ
‹%€CÝÜ×&Ñ& r¨8°UÓ;‰Ý    Ü×&Ñ& r¨4Ó0‰ä×&Ñ& x°Ó7ˆàòˆØ37Ñ0ˆˆCu˜e V¨SÜ Ø T˜5 %¨´¸só
ˆð     ‰ ð ô ‹9Ðr„cóæ—    tj«\}}}|dk(}|rtj}n|dk(rtj
}n|dz}tj |||«S#t$rYywxYw)zReturn battery info.Nrr“é<)rrÚsensors_batteryr¬rÚPOWER_TIME_UNLIMITEDÚPOWER_TIME_UNKNOWNÚsbattery)rKÚminsleftÚ power_pluggedÚsecslefts    r|rñrñµsz€ð    Ü/3×/CÑ/CÓ/EÑ ,ˆGX˜}ð&¨Ñ*ˆ Ù Ü×3Ñ3‰HØ ˜Š^Ü×1Ñ1‰Hà "‘}ˆHÜ×Ñ ¨°=ÓAÐAøô#ò    áð    ús‚A$Á$    A0Á/A0c    ó—tt«}t«}t|«D]Q}    t    j
|«\}}|dkrd}d|›}|dj tj||||««ŒS|S#t$rYŒawxYw)z?Return CPU cores temperatures if available, else an empty dict.rNzCore Úcoretemp)
rrãrŽrªrrÚsensors_cpu_temperaturer‰rÚshwtempr¬)rŠr°r±r²ÚhighrFs      r|Úsensors_temperaturesrýÅs–€äœ$ÓˆÜ$Ó&ˆÜ˜“?ò
    ˆCð     Ü $× <Ñ <¸SÓ A‘ ˜Ø˜1’9ؐDؘs˜e}ØJ‘×&Ñ&Ü—O‘O D¨'°4¸Ó>õð
    ðˆ
øô'ò Ùð ús©AA;Á;    BÂBcó*—tj«S)z:The system boot time expressed in seconds since the epoch.)rrÚ    boot_timerr„r|rÿrÿÝs€ä >‰>Ó Ðr„zignoring exception on import: có˜—tdk(r|Stt«z
}|dk(st|«dkr|Std«|dkr||z
S||zS)z!Account for system clock updates.rrz9system clock was updated; adjusting process create_time())ÚINIT_BOOT_TIMErÿÚabsr)ÚctimeÚdiffs  r|Úadjust_proc_create_timerësU€ä ˜QÒ ØˆL䤠   £ Ñ+ˆØ 1Š9œ˜D›     Aš ØˆLä ÐIÔJØ !Š8ؘ4‘<Рؐt‰|Ðr„cóì—g}trtj«ntj«}|D]>}|\}}}}}|dk(rŒt    j
||xsd|||«}|j |«Œ@|S)z:Return currently connected users as a list of namedtuples.ú~N)r rrÚusersrËrÚsuserr‰)    r½rçrŒrVÚttyÚhostnameÚtstamprírîs             r|rrúsu€à€GÝ%Œdj‰jŒl¬:×+;Ñ+;Ó+=€GØòˆØ+/Ñ(ˆˆc8˜V SØ #Š:Ø Ü ]‰]˜4 ¢¨¨h¸ÀÓ DˆØ‰rÕð ð €Nr„cój—    td«j«y#t$rYyt$rYywxYw)NrTF)ÚProcessrFrrrr„r|Ú _pid_0_existsr s9€ðܐ‹
‰Ôð øô òÙÜ òÙðús‚œ    2§2±2cóz—tj«}tr d|vrt«r|j    dd«|S)z7Returns a list of PIDs currently running on the system.r)rrÚpidsr rÚinsert)rŠs r|rrs/€ä
)‰)‹+€CݐA˜S‘L¤m¤oð     
‰
1aÔØ €Jr„cóJ—tj|«}|s |t«vSy)NT©rÚ
pid_existsr©ríÚexistss  r|rr$s&€Ü×$Ñ$ SÓ)ˆÙðœ$›&=Ð  àr„cóJ—tj|«}|sy|t«vS)NFrrs  r|rr/s&€Ü×$Ñ$ SÓ)ˆÙØð
œ$›&=Ð  r„c󬗠   tj|«td}tj    |«t
j k(S#t$rYywxYw)NrF)rrÚproc_oneshot_infoÚkinfo_proc_mapÚ PROC_STATUSESÚgetrÚ STATUS_ZOMBIErÒ)ríÚsts  r|Ú    is_zombier =sO€ðÜ × #Ñ # CÓ (¬¸Ñ)AÑ BˆÜ× Ñ  Ó$¬×(=Ñ(=Ñ=Ð=øÜ òÙðús‚AAÁ    AÁAcóB‡—tj‰«ˆfd„«}|S)z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    có\•—|j|j|j}}}    ‰|g|¢­i|¤ŽS#t$r+}t    |«rt |||«|‚t ||«|‚d}~wt$r}t||«|‚d}~wt$r$}|dk(rdt«vr t||«|‚‚d}~wwxYw)Nr) ríÚ_ppidÚ_nameÚProcessLookupErrorr rrÚPermissionErrorrrÒr)ÚselfÚargsÚkwargsrírrFrÜÚfuns       €r|Úwrapperz wrap_exceptions.<locals>.wrapperJs¯ø€àŸ(™( D§J¡J°·
±
4ˆTˆð     ÙtÐ-˜dÒ- fÑ-Ð -øÜ!ò    4ܘŒ~Ü# C¨¨tÓ4¸#Ð=Ü  TÓ*°Ð 3ûÜò    3ܘs DÓ)¨sÐ 2ûÜò    ØaŠx˜A¤£™KÜ" 3¨Ó-°3Ð6Ø ûð    ús,§ 3³    B+¼&A"Á" B+Á. A;Á; B+ÂB&Â&B+)Ú    functoolsÚwraps)r*r+s` r|Úwrap_exceptionsr.Es'ø€ô
‡__SÓó óð ð €Nr„c#óK—|j|j|j}}}    d–—y#ttf$r5}t |j«rt |||«|‚t||«|‚d}~wt$r}t||«|‚d}~wwxYw­w)z8Same as above, for routines relying on reading /proc fs.N)
rír$r#r%ÚFileNotFoundErrorr rrr&r)ÚinstrírFrrÜs     r|Úwrap_exceptions_procfsr2]s„èø€ð—h‘h §
¡
¨D¯J©Jˆtˆ€Cð /Ü øÜ Ô 1Ð 2ò4ô T—X‘XÔ Ü  T¨4Ó0°cÐ 9ä  TÓ*°Ð 3ûÜ ò/ܘ3 Ó%¨3Ð.ûð/üs0‚%B ¨-¬B ­B
¼0A,Á, B
Á8 BÂB
B cóD—eZdZdZgd¢Zd„Zd„Zeed„««Z    d„Z
d„Z ed„«Z ed    „«Z ed
„«Zed „«Zed „«Zed „«Zed„«Zed„«Zed„«Zered„«Zed„«ZeZed(d„«Zed„«Zed„«Zed„«Zed)d„«Zed*d„«Zed„«Zed„«Z ed„«Z!ed„«Z"ed„«Z#e$dd «Z%e$dd!«Z&ed"„«Z'ed#„«Z(er"ed$„«Z)ed%„«Z*ed&„«Z+ed*d'„«Z,yy)+rz1Wrapper class around underlying C implementation.)Ú_cacher$r#rícó.—||_d|_d|_y©N)rír$r#)r'rís  r|Ú__init__zProcess.__init__ts€ØˆŒØˆŒ
؈
r„cóB—tj|j«y)z+Raise NSP if the process disappeared on us.N)rrÚ    proc_namerí©r's r|Ú _assert_alivezProcess._assert_aliveys€ô     ‰t—x‘xÕ r„có~—tj|j«}t|«tt«k(sJ‚|S)z;Retrieves multiple process info in one shot as a raw tuple.)rrrrír—r©r'rŠs  r|ÚoneshotzProcess.oneshots4€ô×$Ñ$ T§X¡XÓ.ˆÜ3‹xœ3œ~Ó.Ò.Ð.Ð.؈
r„có:—|jj|«yr6)r>Úcache_activater:s r|Ú oneshot_enterzProcess.oneshot_enter‡s€Ø  ‰ ×#Ñ# DÕ)r„có:—|jj|«yr6)r>Úcache_deactivater:s r|Ú oneshot_exitzProcess.oneshot_exitŠs€Ø  ‰ ×%Ñ% dÕ+r„có|—|j«td}||Stj|j«S)NrF)r>rrrr9rí)r'rFs  r|rFz Process.names4€à|‰|‹~œn¨VÑ4Ñ5ˆØÐ'ˆtÐE¬T¯^©^¸D¿H¹HÓ-EÐEr„có~—tr/|jdk(rytj|j«StrH|jdk(ryt |«5t jd|j›d«cddd«Sddl}|j«}|r|j|d«xsdSy#1swYyxYw)NrÚz/proc/z/exe) r rírrÚproc_exer r2ÚosÚreadlinkÚshutilÚcmdlineÚwhich)r'rKrLs   r|Úexez Process.exe’s €å ؏x‰x˜1Š}ØÜ—=‘= §¡Ó*Ð *Ý Øx‰x˜1Š}àÜ'¨Ó-ñ <Ü—{‘{ V¨D¯H©H¨:°TÐ#:Ó;÷ <ñ <ó à—l‘l“nˆGÙØ—|‘| G¨A¡JÓ/Ò5°2Ð5à÷ <ð <ús Á#B3Â3B<có—tr|jdk(rgStr     tj|j«Stj|j«S#t
$r£}|j t jk(r€|j|j|j}}}t|j«rt|||«|‚t|j«st|||«|‚td|›d«gcYd}~S‚d}~wwxYw)Nrz    ignoring z and returning an empty list)r rír rrÚ proc_cmdlinerÒrÓÚEINVALr$r#r rrrr)r'rÜrírFrs     r|rLzProcess.cmdline¬sـå t—x‘x 1’}؈IÝ ð
 Ü×(Ñ(¨¯©Ó2Ð2ô×$Ñ$ T§X¡XÓ.Ð .øôò Ø—9‘9¤§ ¡ Ò,Ø&*§h¡h°·
±
¸D¿J¹J˜t˜CÜ  §¡Ô*Ü+¨C°°tÓ<À#ÐEÜ% d§h¡hÔ/Ü+¨C°°tÓ<À#ÐEô˜I c WÐ,HÐIÔJØ•Iàûð ús$ŸAÁ    D    Á&BDÃ=D    ÄDÄD    có@—tj|j«Sr6)rrÚ proc_environrír:s r|ÚenvironzProcess.environÇs€ä× Ñ  §¡Ó*Ð*r„cóˆ—|j«td}tj«}    ||S#t$rYywxYw)Nr&)r>rrÚget_terminal_mapÚKeyError)r'Útty_nrÚtmaps   r|ÚterminalzProcess.terminalËsF€à—‘“¤¨wÑ 7Ñ8ˆÜ×(Ñ(Ó*ˆð    Ø˜‘<Ð øÜò    Ùð    ús°5µ    AÁAcóX—|j«td|_|jS)Nr)r>rr#r:s r|rz Process.ppidÔs#€à—\‘\“^¤N°6Ñ$:Ñ;ˆŒ
؏z‰zÐr„cóŒ—|j«}tj|td|td|td«S)Nrrr)r>rÚpuidsr©r'Úrawtuples  r|Úuidsz Process.uidsÙóE€à—<‘<“>ˆÜ}‰}Ø ”^ JÑ/Ñ 0Ø ”^ OÑ4Ñ 5Ø ”^ KÑ0Ñ 1ó
ð    
r„cóŒ—|j«}tj|td|td|td«S)Nr r"r$)r>rÚpgidsrr^s  r|Úgidsz Process.gidsârar„có¢—|j«}tj|td|td|td|td«S)Nr2r4r6r8)r>rr_rr^s  r|r†zProcess.cpu_timesësT€à—<‘<“>ˆÜ× Ñ Ø ”^ KÑ0Ñ 1Ø ”^ JÑ/Ñ 0Ø ”^ NÑ3Ñ 4Ø ”^ MÑ2Ñ 3ó    
ð    
r„có6—|j«tdS)NrD)r>rr:s r|Úcpu_numzProcess.cpu_num÷s€à—<‘<“>¤.°Ñ":Ñ;Ð ;r„c    ó¤—|j«}t|td|td|td|td|td«S)Nr:r<r>r@rB)r>r[rr^s  r|Ú memory_infozProcess.memory_infoûs[€à—<‘<“>ˆÜØ ”^ EÑ*Ñ +Ø ”^ EÑ*Ñ +Ø ”^ IÑ.Ñ /Ø ”^ IÑ.Ñ /Ø ”^ JÑ/Ñ 0ó 
ð    
r„có`—|j«td}tr |s t|«}|S)Nr()r>rr r)r'Ú    monotonicrs   r|r(zProcess.create_times+€à— ‘ “œ~¨mÑ<Ñ=ˆÝ ™)ä+¨EÓ2ˆE؈ r„có~—trtj|j«St    |j ««Sr6)ÚHAS_PROC_NUM_THREADSrrrrír—Úthreadsr:s r|Ú num_threadszProcess.num_threadss+€å ä×(Ñ(¨¯©Ó2Ð 2ät—|‘|“~Ó&Ð &r„cóv—|j«}tj|td|td«S)Nr*r,)r>rÚpctxswrr^s  r|Únum_ctx_switcheszProcess.num_ctx_switchess:€à—<‘<“>ˆÜ~‰~Ø ”^Ð$6Ñ7Ñ 8Ø ”^Ð$8Ñ9Ñ :ó
ð    
r„cóڗtj|j«}g}|D].\}}}tj|||«}|j |«Œ0t r|j«|Sr6)rrÚ proc_threadsrírÚpthreadr‰r r;)r'rçr½Ú    thread_idÚutimeÚstimerÄs       r|rnzProcess.threads sg€ô×#Ñ# D§H¡HÓ-ˆØˆØ'.ò    #Ñ #ˆIu˜eÜ—_‘_ Y°°uÓ=ˆFØ N‰N˜6Õ "ð    #õ Ø × Ñ Ô  Øˆr„c
ó²—t|\}}g}tr!tj|j|«}nIt
r"tj|j||«}n!tj |j||«}|D]C}|dd\}}}    }
} } tr    ||vs|    |vrŒt|||    |
| | t«} |j| «ŒE|j«|S)Nr#) rr rrràrír Úproc_net_connectionsr rrár‰r;)r'rärårærŠrçrŒrèrérêrërìrrîs              r|ràzProcess.net_connections,sՀä# D™/‰ˆ%؈å Ü×*Ñ*¨4¯8©8°TÓ:‰GÝ Ü×*Ñ*¨4¯8©8°X¸uÓE‰Gä×/Ñ/°·±¸(ÀEÓJˆGàò    ˆDØ26°r¸°(Ñ /ˆBT˜5 %¨ÝؘxÑ'¨T¸Ñ->ØÜؐC˜˜u e¨V´\óˆBð J‰JrNð    ð     ×ÑÔØˆ
r„NcóX—tj|j||j«Sr6)rÚwait_pidrír$)r'Útimeouts  r|Úwaitz Process.waitEs€ä× Ñ  §¡¨7°D·J±JÓ?Ð?r„có@—tj|j«Sr6)rËÚ getpriorityrír:s r|Únice_getzProcess.nice_getIs€ä×%Ñ% d§h¡hÓ/Ð/r„cóB—tj|j|«Sr6)rËÚ setpriorityrí)r'Úvalues  r|Únice_setzProcess.nice_setMs€ä×%Ñ% d§h¡h°Ó6Ð6r„cób—|j«td}tj|d«S)Nrú?)r>rrr)r'Úcodes  r|rzProcess.statusQs*€à|‰|‹~œn¨XÑ6Ñ7ˆä× Ñ   sÓ+Ð+r„cóz—|j«}tj|td|tddd«S)Nr.r0r“)r>rÚpiorr^s  r|Ú io_counterszProcess.io_countersWs?€à—<‘<“>ˆÜ{‰{Ø ”^ OÑ4Ñ 5Ø ”^Ð$4Ñ5Ñ 6Ø Ø ó    
ð    
r„cól—tr|jdk(rytj|j«S)z)Return process current working directory.rrG)r rírrÚproc_cwdr:s r|Úcwdz Process.cwdas'€õ
t—x‘x 1’}ØÜ}‰}˜TŸX™XÓ&Ð&r„Úmmaprcrecóž—tj|j«}|Dcgc]\}}tj||«‘Œc}}Scc}}w)z8Return files opened by process as a list of namedtuples.)rrÚproc_open_filesrírÚ    popenfile)r'rçÚpathrès    r|Ú
open_fileszProcess.open_filesqs=€ô×&Ñ& t§x¡xÓ0ˆØ<C×D±°°b”×!Ñ! $¨Õ+ÓDÐDùÓDs¥ A    cóp—tj|j«}tr|j    «|S)z=Return the number of file descriptors opened by this process.)rrÚ proc_num_fdsrír r;r=s  r|Únum_fdszProcess.num_fdsws,€ô×Ñ §¡Ó)ˆÝ Ø × Ñ Ô  Øˆ
r„có@—tj|j«Sr6)rrÚproc_cpu_affinity_getrír:s r|Úcpu_affinity_getzProcess.cpu_affinity_getƒs€ä×-Ñ-¨d¯h©hÓ7Ð 7r„cóŠ—tttt««««}|D]}||vsŒd|›d|›d}t    |«‚    t j |j|«y#t$rR}|jtjtjhvr |D]}||vsŒd|›d|›d}t    |«|‚‚d}~wwxYw)Nz invalid CPU z (choose between ú)) rßrªr—rˆr®rrÚproc_cpu_affinity_setrírÒrÓrQÚEDEADLK)r'ÚcpusÚallcpusr±ÚmsgrÜs      r|Úcpu_affinity_setzProcess.cpu_affinity_set‡sۀô
œ%¤¤M£OÓ 4Ó5Ó6ˆGØò *Ø˜gÒ%Ø(¨¨Ð/@ÀÀ    ÈÐKCÜ$ S›/Ð)ð *ð Ü×*Ñ*¨4¯8©8°TÕ:øÜò ð
—9‘9¤§¡¬u¯}©}Р=Ñ=Ø#ò;˜Ø gÒ-à".¨s¨gð6$Ø$+ 9¨Að!/ð ô#-¨S£/°sÐ:ð ;ðûð úsÁ A'Á'    CÁ05B=Â&B=Â=Ccó@—tj|j«Sr6)rrÚproc_memory_mapsrír:s r|Ú memory_mapszProcess.memory_maps¢s€ä×(Ñ(¨¯©Ó2Ð 2r„cóЗ|€ tj|j|«St|«dk7rd|›}t    |«‚|\}}tj
|j|||«S)Nrz2second argument must be a (soft, hard) tuple, got )rrÚproc_getrlimitrír—r®Úproc_setrlimit)r'ÚresourceÚlimitsr¡ÚsoftÚhards      r|ÚrlimitzProcess.rlimit¦sn€àˆ~Ü×*Ñ*¨4¯8©8°XÓ>Ð>äv“; !Ò#ðØ"˜:ð'ðô% S›/Ð)Ø#‘
dÜ×*Ñ*¨4¯8©8°X¸tÀTÓJÐJr„©F)Úinetr6)-Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú    __slots__r7r;r.rr>rArDrFrNrLrTrZrr`rdr†r rgriÚmemory_full_infor(rorrrnràr~rr…rr‹rŽrÚnt_mmap_groupedÚ nt_mmap_extr”r—ršr¢r¥r­rr„r|rros¨„Ù;â3€Iòò
!ð Øñóóðò *ò,ðñFóðFðñóðð2ñ/óð/ð4ñ+óð+ðñóððñóððñ
óð
ðñ
óð
ðñ
óð
ñà    ñ    <ó
ð    <ðñ
óð
ð#Ðàòóððñ'óð'ðñ
óð
ðñ    óð    ðòóðð0ò@óð@ðñ0óð0ðñ7óð7ðñ,óð,ð
ñ
óð
ðñ'óð'ñ!ØÐ<ó€OñØÐHó€KðñEóðEð
ñóðñà    ñ    8ó
ð    8ð
ñ    ó
ð    ð4
ñ    3ó
ð    3ð
ò     Kó
ñ     KðMr„rrr®)wr³Ú
contextlibrÓr,rIÚ collectionsrrÚ    xml.etreerrGrrr    rrr
rËr r r rrrrrrrrrÚ__extra__all__ÚSIDLÚ STATUS_IDLEÚSRUNÚSTATUS_RUNNINGÚSSLEEPÚSTATUS_SLEEPINGÚSSTOPÚSTATUS_STOPPEDÚSZOMBrÚSWAITÚSTATUS_WAITINGÚSLOCKÚ STATUS_LOCKEDrÚSDEADÚ STATUS_WAKINGÚSONPROCÚTCPS_ESTABLISHEDÚCONN_ESTABLISHEDÚ TCPS_SYN_SENTÚ CONN_SYN_SENTÚTCPS_SYN_RECEIVEDÚ CONN_SYN_RECVÚTCPS_FIN_WAIT_1ÚCONN_FIN_WAIT1ÚTCPS_FIN_WAIT_2ÚCONN_FIN_WAIT2ÚTCPS_TIME_WAITÚCONN_TIME_WAITÚ TCPS_CLOSEDÚ
CONN_CLOSEÚTCPS_CLOSE_WAITÚCONN_CLOSE_WAITÚ TCPS_LAST_ACKÚ CONN_LAST_ACKÚ TCPS_LISTENÚ CONN_LISTENÚ TCPS_CLOSINGÚ CONN_CLOSINGÚPSUTIL_CONN_NONEÚ    CONN_NONEráÚ getpagesizeÚPAGESIZEÚAF_LINKrÏrmÚdictrrHrTr[Úpfullmemr_rbrdrfr}rƒr†rˆrŽr‘ržr«rºÚ
disk_usageÚdisk_io_countersrÉÚ net_if_addrsrÝràrñrýrÿrÚ    ExceptionrÜrrrrrr r.Úcontextmanagerr2rrr„r|ú<module>rîs‘ðñ
<ãÛ ÛÛ    Ý#Ý"Ý!åÝÝ!Ý)ÝÝÝÝ!Ý"Ý"ÝÝ#ÝÝÝ+Ý"à€ñ à     ‰    7×&Ñ&Ø     ‰    7×)Ñ)Ø  ‰ W×,Ñ,Ø 
‰
G×*Ñ*Ø 
‰
G×)Ñ)Ø 
‰
G×*Ñ*Ø 
‰
G×)Ñ)ð‚Mñ à     ‰    7×&Ñ&Ø  ‰ W×,Ñ,Ø 
‰
G×*Ñ*ð      
‰
G×)Ñ)Ø 
‰
G×)Ñ)ð         ‰    7×(Ñ(Ø  ‰ g×,Ñ,ð'Mñ* à     ‰    7×&Ñ&Ø  ‰ W×,Ñ,Ø 
‰
G×*Ñ*Ø 
‰
G×)Ñ)Ø     ‰    7×(Ñ(Ø  ‰ g×,Ñ,ð €Mð    ×ј7×3Ñ3Ø×ј×-Ñ-Ø×јG×1Ñ1Ø×ј'×0Ñ0Ø×ј'×0Ñ0Ø×ј×/Ñ/Ø×ѐg×(Ñ(Ø×ј'×1Ñ1Ø×ј×-Ñ-Ø×ѐg×)Ñ)Ø×ѐw×+Ñ+Ø×ј7×,Ñ,ð € ð "ˆ:× !Ñ !Ó #€Ø
€á˜tÐ%7Ó8ÐáòÙ    
ðá ðñðñð    ñ
ð ñ ð ñðñðñ ðñðñðñðñðñðñðñ ð!ñ"ð#ñ$ð%ñ&     ð'ñ(     ð)ñ* ð+ñ, ð-ñ.ð/ñ0 ð1ñ2
ð3€ñH    Ø òLó    M€ñ ØÒ:ó <€    ñ&ÒAÓB€à €á {ÚMó O€    ñØÐAóC€ ñ ØÐIó K€    ñ Ù˜ò%2ó3Gñ
˜ò%BóC€Gò,ò^@ò4ò ò$ñ
 ‰fó7ò ò6Añ@ óñ0 ò2ó ð×  Ñ  €
Ø×(Ñ(Ðð×&Ñ&€Ø×&Ñ&€ òò0ñ2 òBò ò0ñ
 
ðÙ"›ˆò ò
ð$    ñó    ðòñ
óñ ó!ð×$Ñ$€Jòòð0 ×Ññ/óð/÷"CKòCKøðS òá Ð.¨s¨gÐ6Ô7؍ûðúsÒS+Ó+TÓ0 TÔT