
    Xhx                     
   d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ddl
mZ dd	l
mZ dd
l
mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ g Zerej<                  ej>                  ej@                  ejB                  ejD                  ejF                  ejH                  ejJ                  ejL                  ejN                  ejP                  ejR                  ejT                  ejV                  iZ,n'erej<                  ej>                  ejD                  ejF                  ejH                  ejJ                  ejZ                  ejN                  ejL                  ejN                  ej@                  ej\                  ej^                  ejB                  iZ,nerej<                  ej>                  ejD                  ejF                  ejH                  ejJ                  ejL                  ejN                  ej@                  ej\                  ej^                  ejB                  iZ,ej`                  ejb                  ejd                  ejf                  ejh                  ejj                  ejl                  ejn                  ejp                  ejr                  ejt                  ejv                  ejx                  ejz                  ej|                  ej~                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  iZH ej                         ZJej                  ZK eLed      ZM eNdsi dddddddddd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ZO edHg dI      ZP edJg dK      ZQ edLg dM      ZReRZS edNg dO      ZT edPdQ      ZU edRdS      ZVer edTg dU      ZWn edTg dV      ZWdW ZXdX ZYdY ZZdZ Z[d[ Z\eserd\ Z]nd] Z]d^ Z^erd_ Z_nerd` Z_dtdaZ`ej                  Zaej                  Zbej                  Zcej                  Zddb Zedc Zferdd Zgde Zhdf Zier	  ei       Zjdh Zmdi Znedj        Zodk Zperdl Zqnerdm Zqnej                  Zqdn Zrdo Zsej                  dp        Zu G dq dr      Zvy# ek$ rZl edgel       dZjY dZl[lcdZl[lww xY w)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)rV   rX   children_userchildren_systempmmap_grouped*path rss, private, ref_count, shadow_count	pmmap_ext6addr, perms path rss, private, ref_count, shadow_countsdiskio)
read_countwrite_count
read_byteswrite_bytes	read_time
write_time	busy_time)rg   rh   ri   rj   c                     t        j                         } t        r| \  }}}}}}t        dd      5 }|D ]d  }|j	                  d      r t        |j                         d         dz  }	4|j	                  d      sFt        |j                         d         dz  }
f 	 d d d        ||z   }||z
  }n| \  }}}}}}}	}
||z   |z   }||z   |z   }t        ||z
  |d      }t        |||||||	|
|      S # 1 sw Y   UxY w)Nz/proc/meminforbs   Buffers:r   i   s
   MemShared:round_)	cextvirtual_memr   open
startswithintsplitr   rH   )memrI   rM   rN   rO   rS   rQ   flinerP   rR   rL   availrK   s                 A/var/www/html/myenv/lib/python3.12/site-packages/psutil/_psbsd.pyvirtual_memoryr}      s*   



C7:4tVXuf /4( 	9A 9??;/!$**,q/2T9G__]3 a1D8F	9	9 ~HKEtVXufgv 6!D(~&UU]U1=G 5	9 	9s   AC/9!C//C8c                      t        j                         \  } }}}}t        || d      }t        j                  | |||||      S )z@System swap memory as (total, used, free, sin, sout) namedtuple.r   rp   )rr   swap_memr   r   sswap)rI   rL   rM   sinsoutrK   s         r|   swap_memoryr      s?    #'==? E4sDD%2G==dGS$??    c                  T    t        j                         \  } }}}}t        | ||||      S )z,Return system per-CPU times as a namedtuple.)rr   	cpu_timesrT   rU   s        r|   r   r      s,    $(NN$4!D$cT4s33r   c                      g } t        j                         D ]*  }|\  }}}}}t        |||||      }| j                  |       , | S )z(Return system CPU times as a namedtuple.)rr   per_cpu_timesrT   append)retcpu_trV   rW   rX   rY   rZ   items           r|   r   r      sT    
C##% (-%dFD#tVT37

4 Jr   c                  *    t        j                         S )z0Return the number of logical CPUs in the system.)rr   cpu_count_logical r   r|   r   r      s    !!##r   c                  $    t               dk(  rdS d S )Nr   )r   r   r   r|   cpu_count_coresr      s    %'1,q6$6r   c                  D   d} t        j                         }|b|j                  d      }|dk7  rL|d|dz    }t        j                  |      }	 t        |j                  d            xs d} |j                          | st               dk(  ry| S # |j                          w xY w)z-Return the number of CPU cores in the system.Nz	</groups>r)   zgroup/children/group/cpur   )	rr   cpu_topologyrfindr   
fromstringlenfindallclearr   )r   sindexroots       r|   r   r     s     =GGK(E{k	N"--a0!dll+EFGO4C JJL "a'
 JJLs   B Bc                     t         rt        j                         \  } }}}}nt        rht        j                         \  } }}}}}}t	        dd      5 }|D ]0  }|j                  d      st        |j                         d         }2 	 ddd       n"t        rt        j                         \  } }}}}}}t        j                         S # 1 sw Y   !xY w)z*Return various CPU stats as a named tuple.z
/proc/statro   s   intrr   N)r   rr   	cpu_statsr   rt   ru   rv   rw   r   r   	scpustats)	ctxswintrs
soft_intrssyscalls_traps_faults_forksry   rz   s	            r|   r   r   !  s     6:^^5E2uj(F	 NN 	Duj(FGV ,% 	1 1??7+

Q0E1	1 	1 
 NN 	Duj(FGV UE:x@@	1 	1s   C
(C

Cc                     g } t               }t        |      D ]  }	 t        j                  |      \  }}|r`	 t        |j                  d      d   j                  d      d         }	 t        |j                  d      d   j                  d      d         }| j                  t        j                  |              | S # t        $ r Y w xY w# t        t        f$ r d}Y |w xY w# t        t        f$ r d}Y cw xY w)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   /r   N)r   rangerr   cpu_freqNotImplementedErrorrv   rw   
IndexError
ValueErrorr   r   scpufreq)r   num_cpuscpucurrentavailable_freqmin_freqmax_freqs          r|   r   r   C  s   
 $&? 	FC*.--*<' $">#7#7#<R#@#F#Fs#KA#NOH$">#7#7#<Q#?#E#Ec#J1#MNH JJw''8DE	F 
 ' 
 #J/ $#H$ #J/ $#H$s4   C /C'/C& 	CCC#"C#&C:9C:c                  l    t        t        j                               } t        j                  | dd      gS )Ng        )floatrr   r   r   r   )currs    r|   r   r   ]  s*    T]]_%  sC011r   c                     g }t        j                         }|D ]2  }|\  }}}}t        j                  ||||      }|j	                  |       4 |S )zReturn 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   g  s]    
 G%%'J 	+4(
FD""6:vtDv Nr   c                     t               j                         } i }| D ]  }	 t        j                  |      }t        j                  |      }t        j
                  |      \  }}t        t        d      rt        j                  |      }dj                  |      }d|v }t        j                  |||||      ||<    |S # t        $ r(}	|	j                  t        j                  k7  r Y d}	~	d}	~	ww xY w)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hasattrr   r   join	snicstatsOSErrorerrnoENODEV)
namesr   rF   mtuflagsduplexspeedoutput_flagsisuperrs
             r|   net_if_statsr     s    ""$E
C 	''-C++D1E&::4@MFE w, **6288E?L%D))feS,CI" J  	yyELL( )	s   AB==	C.C))C.c                 V   t         |    \  }}t               }t        rt        j                  d||      }n3t
        rt        j                  d|       }nt        j                  ||      }|D ]3  }|\  }}}}	}
}}t        ||||	|
|t        |      }|j                  |       5 t        |      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    oOHe
%C&&r8U;	&&r40&&x7 370CueVST5%s
 	 9r   c                      	 t        j                         \  } }}|dk(  }|rt        j                  }n|dk(  rt        j
                  }n|dz  }t        j                  | ||      S # t        $ r Y yw xY w)zReturn battery info.Nr   r   <   )rr   sensors_batteryr   r   POWER_TIME_UNLIMITEDPOWER_TIME_UNKNOWNsbattery)rK   minsleftpower_pluggedsecslefts       r|   r   r     sz    	/3/C/C/E,GX} &*33H^11H"}H=AA # 		s   A$ $	A0/A0c            	         t        t              } t               }t        |      D ]Q  }	 t	        j
                  |      \  }}|dk  rd}d| }| d   j                  t        j                  ||||             S | S # t        $ r Y aw xY w)z?Return CPU cores temperatures if available, else an empty dict.r   NzCore coretemp)
r   r   r   r   rr   sensors_cpu_temperaturer   r   shwtempr   )r   r   r   r   highrF   s         r|   sensors_temperaturesr     s    $$&? 
	C	 $ < <S A19Dse}J&&OOD'4>
	 
 ' s   AA;;	BBc                  *    t        j                         S )z:The system boot time expressed in seconds since the epoch.)rr   	boot_timer   r   r|   r   r     s    >>r   zignoring exception on import: c                     t         dk(  r| S t         t               z
  }|dk(  st        |      dk  r| S t        d       |dk  r| |z
  S | |z   S )z!Account for system clock updates.r   r   z9system clock was updated; adjusting process create_time())INIT_BOOT_TIMEr   absr   )ctimediffs     r|   adjust_proc_create_timer    sU    QL	+19D	ALIJ!84<t|r   c                      g } t         rt        j                         nt        j                         }|D ]>  }|\  }}}}}|dk(  rt	        j
                  ||xs d|||      }| 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|   r  r    su    G%djjl:+;+;+=G +/(c8VS#:]]4hDr Nr   c                  j    	 t        d      j                          y# t        $ r Y yt        $ r Y yw xY w)Nr   TF)ProcessrF   r   r   r   r   r|   _pid_0_existsr    s9    
    s    	222c                  z    t        j                         } t        r d| vrt               r| j	                  dd       | S )z7Returns a list of PIDs currently running on the system.r   )rr   pidsr   r  insert)r   s    r|   r  r    s/    
))+CASLmo 	

1aJr   c                 J    t        j                  |       }|s| t               v S y)NTr   
pid_existsr  r   existss     r|   r  r  $  s&    $$S) $&= r   c                 J    t        j                  |       }|sy| t               v S )NFr  r  s     r|   r  r  /  s&    $$S)
 $&= r   c                     	 t        j                  |       t        d      }t        j	                  |      t
        j                  k(  S # t        $ r Y yw xY w)Nr   F)rr   proc_oneshot_infokinfo_proc_mapPROC_STATUSESgetr   STATUS_ZOMBIEr   )r   sts     r|   	is_zombier   =  sO    ##C()AB  $(=(=== s   AA 	AAc                 B     t        j                          fd       }|S )z`Decorator which translates bare OSError exceptions into
    NoSuchProcess and AccessDenied.
    c                 \   | j                   | j                  | j                  }}}	  | g|i |S # t        $ r+}t	        |      rt        |||      |t        ||      |d }~wt        $ r}t        ||      |d }~wt        $ r$}|dk(  rdt               v rt        ||      | d }~ww xY w)Nr   )r   _ppid_nameProcessLookupErrorr   r   r   PermissionErrorr   r   r  )selfargskwargsr   r   rF   r   funs          r|   wrapperz wrap_exceptions.<locals>.wrapperJ  s    ((DJJ

4T	t-d-f--! 	4~#Ct4#=T*3 	3sD)s2 	axAK"3-36	s,   3 	B+&A""B+.A;;B+B&&B+)	functoolswraps)r*  r+  s   ` r|   wrap_exceptionsr.  E  s'    
 __S  Nr   c              #     K   | j                   | j                  | j                  }}}	 d y# t        t        f$ r5}t        | j                         rt        |||      |t        ||      |d}~wt        $ r}t        ||      |d}~ww xY ww)z8Same as above, for routines relying on reading /proc fs.N)
r   r$  r#  r%  FileNotFoundErrorr   r   r   r&  r   )instr   rF   r   r   s        r|   wrap_exceptions_procfsr2  ]  s      hh

DJJtC/ 12 4 TXXT40c9T*3 /3%3./s0   %B- BB
0A,,B
8BB

Bc                   D   e Zd ZdZg dZd Zd Zeed               Z	d Z
d Zed        Zed	        Zed
        Zed        Zed        Zed        Zed        Zed        Zed        Zered        Zed        ZeZed(d       Zed        Zed        Zed        Zed)d       Zed*d       Zed        Zed        Z ed        Z!ed        Z"ed        Z# e$dd       Z% e$dd!      Z&ed"        Z'ed#        Z(er"ed$        Z)ed%        Z*ed&        Z+ed*d'       Z,yy)+r  z1Wrapper class around underlying C implementation.)_cacher$  r#  r   c                 .    || _         d | _        d | _        y N)r   r$  r#  )r'  r   s     r|   __init__zProcess.__init__t  s    

r   c                 B    t        j                  | j                         y)z+Raise NSP if the process disappeared on us.N)rr   	proc_namer   r'  s    r|   _assert_alivezProcess._assert_alivey  s     	txx r   c                 ~    t        j                  | j                        }t        |      t        t              k(  sJ |S )z;Retrieves multiple process info in one shot as a raw tuple.)rr   r  r   r   r  r'  r   s     r|   oneshotzProcess.oneshot  s4     $$TXX.3x3~....
r   c                 :    | j                   j                  |        y r6  )r>  cache_activater:  s    r|   oneshot_enterzProcess.oneshot_enter  s    ##D)r   c                 :    | j                   j                  |        y r6  )r>  cache_deactivater:  s    r|   oneshot_exitzProcess.oneshot_exit  s    %%d+r   c                 |    | j                         t        d      }||S t        j                  | j                        S )NrF   )r>  r  rr   r9  r   )r'  rF   s     r|   rF   zProcess.name  s4    ||~nV45'tET^^DHH-EEr   c                 ~   t         r/| j                  dk(  ryt        j                  | j                        S t        rH| j                  dk(  ryt        |       5  t        j                  d| j                   d      cd d d        S dd l}| j                         }|r|j                  |d         xs dS y# 1 sw Y   y xY w)Nr    z/proc/z/exe)r   r   rr   proc_exer   r2  osreadlinkshutilcmdlinewhich)r'  rK  rL  s      r|   exezProcess.exe  s    xx1}==**xx1}'- <{{VDHH:T#:;< < llnG||GAJ/525< <s   #B33B<c                    t         r| j                  dk(  rg S t        r 	 t        j                  | j                        S t        j                  | j                        S # t
        $ r}|j                  t        j                  k(  r| j                  | j                  | j                  }}}t        | j                        rt        |||      |t        | j                        st        |||      |t        d|d       g cY d }~S  d }~ww xY w)Nr   z	ignoring z and returning an empty list)r   r   r   rr   proc_cmdliner   r   EINVALr$  r#  r   r   r  r   r   )r'  r   r   rF   r   s        r|   rL  zProcess.cmdline  s    txx1}I
((22 $$TXX..  99,&*hh

DJJtC *+Ct<#E%dhh/+Ct<#E IcW,HIJIs$   A 	D	&BD=D	DD	c                 @    t        j                  | j                        S r6  )rr   proc_environr   r:  s    r|   environzProcess.environ  s      **r   c                     | j                         t        d      }t        j                         }	 ||   S # t        $ r Y y w xY w)Nr&   )r>  r  r   get_terminal_mapKeyError)r'  tty_nrtmaps      r|   terminalzProcess.terminal  sF    w 78((*	< 		s   5 	A Ac                 X    | j                         t        d      | _        | j                  S )Nr   )r>  r  r#  r:  s    r|   r   zProcess.ppid  s#    \\^N6$:;
zzr   c                     | j                         }t        j                  |t        d      |t        d      |t        d            S )Nr   r   r   )r>  r   puidsr  r'  rawtuples     r|   uidszProcess.uids  E    <<>}}^J/0^O45^K01
 	
r   c                     | j                         }t        j                  |t        d      |t        d      |t        d            S )Nr    r"   r$   )r>  r   pgidsr  r^  s     r|   gidszProcess.gids  ra  r   c                     | j                         }t        j                  |t        d      |t        d      |t        d      |t        d            S )Nr2   r4   r6   r8   )r>  r   r_   r  r^  s     r|   r   zProcess.cpu_times  sT    <<>  ^K01^J/0^N34^M23	
 	
r   c                 6    | j                         t        d      S )NrD   )r>  r  r:  s    r|   cpu_numzProcess.cpu_num  s    <<>.":;;r   c           	          | j                         }t        |t        d      |t        d      |t        d      |t        d      |t        d            S )Nr:   r<   r>   r@   rB   )r>  r[   r  r^  s     r|   memory_infozProcess.memory_info  s[    <<>^E*+^E*+^I./^I./^J/0
 	
r   c                 `    | j                         t        d      }t        r|st        |      }|S )Nr(   )r>  r  r   r  )r'  	monotonicr  s      r|   r(   zProcess.create_time  s+    ~m<=)+E2Er   c                 ~    t         rt        j                  | j                        S t	        | j                               S r6  )HAS_PROC_NUM_THREADSrr   r   r   r   threadsr:  s    r|   num_threadszProcess.num_threads  s+    ((22t||~&&r   c                 v    | j                         }t        j                  |t        d      |t        d            S )Nr*   r,   )r>  r   pctxswr  r^  s     r|   num_ctx_switcheszProcess.num_ctx_switches  s:    <<>~~^$678^$89:
 	
r   c                     t        j                  | j                        }g }|D ].  \  }}}t        j                  |||      }|j                  |       0 t        r| j                          |S r6  )rr   proc_threadsr   r   pthreadr   r   r;  )r'  r   r   	thread_idutimestimer   s          r|   rn  zProcess.threads   sg     ##DHH-'. 	##Iue__Yu=FNN6"	#  r   c           
         t         |   \  }}g }t        r!t        j                  | j                  |      }nIt
        r"t        j                  | j                  ||      }n!t        j                  | j                  ||      }|D ]C  }|d d \  }}}	}
}}t        r	||vs|	|vrt        |||	|
||t              }|j                  |       E | j                          |S )Nr#   )r   r   rr   r   r   r   proc_net_connectionsr   r   r   r   r;  )r'  r   r   r   r   r   r   r   r   r   r   r   r   r   s                 r|   r   zProcess.net_connections,  s    #D/%**488T:G**488XuEG//(EJG 	D26r(/BT5%x'T->CueV\B JJrN	 	
r   Nc                 X    t        j                  | j                  || j                        S r6  )r   wait_pidr   r$  )r'  timeouts     r|   waitzProcess.waitE  s      7DJJ??r   c                 @    t        j                  | j                        S r6  )r   getpriorityr   r:  s    r|   nice_getzProcess.nice_getI  s    %%dhh//r   c                 B    t        j                  | j                  |      S r6  )r   setpriorityr   )r'  values     r|   nice_setzProcess.nice_setM  s    %%dhh66r   c                 b    | j                         t        d      }t        j                  |d      S )Nr   ?)r>  r  r  r  )r'  codes     r|   r   zProcess.statusQ  s*    ||~nX67  s++r   c                 z    | j                         }t        j                  |t        d      |t        d      dd      S )Nr.   r0   r   )r>  r   pior  r^  s     r|   io_counterszProcess.io_countersW  s?    <<>{{^O45^$456	
 	
r   c                 l    t         r| j                  dk(  ryt        j                  | j                        S )z)Return process current working directory.r   rG  )r   r   rr   proc_cwdr:  s    r|   cwdzProcess.cwda  s'    
 txx1}}}TXX&&r   mmaprc   re   c                     t        j                  | j                        }|D cg c]  \  }}t        j                  ||       c}}S c c}}w )z8Return files opened by process as a list of namedtuples.)rr   proc_open_filesr   r   	popenfile)r'  r   pathr   s       r|   
open_fileszProcess.open_filesq  s=     &&txx0<CDb!!$+DDDs    A	c                 p    t        j                  | j                        }t        r| j	                          |S )z=Return the number of file descriptors opened by this process.)rr   proc_num_fdsr   r   r;  r=  s     r|   num_fdszProcess.num_fdsw  s,     ) 
r   c                 @    t        j                  | j                        S r6  )rr   proc_cpu_affinity_getr   r:  s    r|   cpu_affinity_getzProcess.cpu_affinity_get  s    --dhh77r   c                    t        t        t        t                                 }|D ]  }||vsd|d| d}t	        |       	 t        j                  | j                  |       y # t        $ rR}|j                  t        j                  t        j                  hv r |D ]  }||vsd|d| d}t	        |      |  d }~ww xY w)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_setzProcess.cpu_affinity_set  s    
 %MO 456G *g%(/@	KC$S/)***488T: 
 99u}} ==# ;g-".sg 6$$+9A!/   #-S/s:; s    A' '	C05B=&B==Cc                 @    t        j                  | j                        S r6  )rr   proc_memory_mapsr   r:  s    r|   memory_mapszProcess.memory_maps  s    ((22r   c                     | t        j                  | j                  |      S t        |      dk7  rd|}t	        |      |\  }}t        j
                  | j                  |||      S )Nr   z2second argument must be a (soft, hard) tuple, got )rr   proc_getrlimitr   r   r   proc_setrlimit)r'  resourcelimitsr  softhards         r|   rlimitzProcess.rlimit  sn    ~**488X>>v;!#":'  %S/)#
d**488XtTJJr   F)inetr6  )-__name__
__module____qualname____doc__	__slots__r7  r;  r.  r   r>  rA  rD  rF   rN  rL  rT  rZ  r   r`  rd  r   r   rg  ri  memory_full_infor(   ro  rr  rn  r   r~  r  r  r   r  r  r   nt_mmap_groupednt_mmap_extr  r  r  r  r  r  r   r   r|   r  r  o  s   ;3I
!   *, F F  2 / /4 + +     
 
 
 
 
 
 		< 
	< 
 
 #  ' ' 
 
 	 	  0 @ @ 0 0 7 7 , ,
 
 
 ' ' !<O HK E E
   		8 
	8 
	 
	4 
	3 
	3 
	K 
	KM r   r  r   r  )wr  
contextlibr   r,  rI  collectionsr   r   	xml.etreer   rG  r   r   r	   rr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   __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  dictr  rH   rT   r[   pfullmemr_   rb   rd   rf   r}   r   r   r   r   r   r   r   r   
disk_usagedisk_io_countersr   net_if_addrsr   r   r   r   r   r  	Exceptionr   r  r  r  r  r  r   r.  contextmanagerr2  r  r   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 3G
  %B CG,^@4$
 f76A@ 0 2   
((  &&&&02 B 0
 
"
$ 	 	 
 ! $$J0 / /"CK CKS  .sg67s   S+ +T0TT