
    9iG                        S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
r
  SSK	Jr  SSK	Jr  SSK
Jr  SS	K
Jr  SS
K
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  S/r\" \S5      r\" \S5      r\" \S5      r\R:                  " 5       r\R>                  r\R@                  \
RB                  \RD                  \
RF                  \RH                  \
RJ                  \RL                  \
RJ                  \RN                  \
RP                  0r)\RT                  \
RV                  \RX                  \
RZ                  \R\                  \
R^                  \R`                  \
Rb                  \Rd                  \
Rf                  \Rh                  \
Rj                  \Rl                  \
Rn                  \Rp                  \
Rr                  \Rt                  \
Rv                  \Rx                  \
Rz                  \R|                  \
R~                  \R                  \
R                  0rB\C" SSSSSSSSS9rD\" SSS/5      rE\ErF\" S / S!Q5      rG\" S"/ S#Q5      rHS$ rIS% rJS& rKS' rLS( rMS) rNS* rO\R                  rP\R                  rQS5S+ jrR\R                  rS\(       a  \R                  rTS6S, jrUS- rVS. rWS/ rXS0 rYS1 rZS2 r[ " S3 S45      r\g)7zAIX platform implementation.    N)
namedtuple   )_common)_psposix)_psutil_aix)NIC_DUPLEX_FULL)NIC_DUPLEX_HALF)NIC_DUPLEX_UNKNOWN)AccessDenied)NoSuchProcess)ZombieProcess)conn_to_ntuple)get_procfs_path)memoize_when_activated)usage_percentPROCFS_PATHproc_threadsnet_io_countersproc_io_counters                  )ppidrssvmscreate_timenicenum_threadsstatusttynrpmemr   r   	scputimes)usersystemidleiowaitsvmem)total	availablepercentusedfreec                  h    [         R                  " 5       u  pp#n[        X-
  U SS9n[        XXTU5      $ )Nr   round_)cextvirtual_memr   r*   )r+   availr/   _pinnedinuser-   s         M/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/psutil/_psaix.pyvirtual_memoryr9   e   s6    )-)9)9);&E$U]U1=Gwt44    c                  ~    [         R                  " 5       u  pp#X-
  n[        X@SS9n[        R                  " XXX#5      $ )z=Swap system memory as a (total, used, free, sin, sout) tuple.r   r1   )r3   swap_memr   r   sswap)r+   r/   sinsoutr.   r-   s         r8   swap_memoryr@   k   s8    !]]_E<DD2G==dS??r:   c                      [         R                  " 5       n [        [        U 6  Vs/ s H  n[	        U5      PM     sn6 $ s  snf )z.Return system-wide CPU times as a named tuple.)r3   per_cpu_timesr%   zipsumretxs     r8   	cpu_timesrH   x   s5    



CsCy1y!s1vy1221s   >c                  h    [         R                  " 5       n U  Vs/ s H  n[        U6 PM     sn$ s  snf )z6Return system per-CPU times as a list of named tuples.)r3   rB   r%   rE   s     r8   rB   rB   ~   s,    



C#&'3aIqM3'''s   /c                  P     [         R                  " S5      $ ! [         a     gf = f)z0Return the number of logical CPUs in the system.SC_NPROCESSORS_ONLNN)ossysconf
ValueError r:   r8   cpu_count_logicalrP      s)    zz/00 s    
%%c                  T   / SQn [         R                  " U [         R                  [         R                  S9nUR                  5       u  p#S X#4 5       u  p#UR                  S:w  a  U < SU 3n[        U5      eUR                  5       R                  5       n[        U5      =(       d    S $ )N)lsdevz-Cc	processorstdoutstderrc              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7fNdecodesysrU   encoding.0rG   s     r8   	<genexpr>"cpu_count_cores.<locals>.<genexpr>   s&     N=Mhhszz2233=M   57r   z command error
)	
subprocessPopenPIPEcommunicate
returncodeRuntimeErrorstrip
splitlineslen)cmdprU   rV   msg
processorss         r8   cpu_count_coresro      s    
'CZ__Z__MA]]_NFNf=MNNF||q'x03**,Jz?"d"r:   c                  `    [         R                  " 5       u  pp#[        R                  " XX#5      $ )z*Return various CPU stats as a named tuple.)r3   	cpu_statsr   	scpustats)ctx_switches
interruptssoft_interruptssyscallss       r8   rq   rq      s+    :>..:J7Lo/ r:   c                     / n[         R                  " 5       nU H[  nUu  pEpgUS:X  a  SnU (       d  [        U5      R                  (       d  M3  [        R
                  " XEXg5      nUR                  U5        M]     U$ )zReturn system disk partitions.none )r3   disk_partitions
disk_usager+   r   	sdiskpartappend)	allretlist
partitions	partitiondevice
mountpointfstypeoptsntuples	            r8   rz   rz      ss     G%%'J	+4(FVF j)//""6vDv   Nr:   c                     [         R                  U    u  p#[        R                  " U5      n/ nU HE  nUu  pxppnX;  a  M  X;  a  M  [	        UUU	U
UU[
        US:X  a  UOSS9nUR                  U5        MG     U$ )zReturn socket connections.  If pid == -1 return system-wide
connections (as opposed to connections opened by one process only).
Npid)r   	conn_tmapr3   net_connectionsr   TCP_STATUSESr}   )kind_pidfamiliestypesrawlistrF   itemfdfamtype_laddrraddrr"   r   nts                  r8   r   r      s     ''-OH""4(G
C481ucrzt	
 	

2! " Jr:   c                     [         [        S.n [        5        Vs1 s H  oS   iM	     nn0 nU GH"  n[        R                  " U5      n[        R
                  " U5      nSnSn[        R                  " SSU/[        R                  [        R                  S9n	U	R                  5       u  pS X4 5       u  pU	R                  S:X  aE  [        R                  " SU
5      nUb+  [        UR                  S	5      5      nUR                  S
5      nSR                  U5      nSU;   nU R!                  U["        5      n[$        R&                  " XXU5      X4'   GM%     U$ s  snf )z)Get NIC stats (isup, duplex, speed, mtu).)FullHalfr   ry   z/usr/bin/entstatz-drT   c              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7frX   rY   r]   s     r8   r_   net_if_stats.<locals>.<genexpr>   (      
3CaHHSZZ(())3Cra   z"Running: (\d+) Mbps.*?(\w+) Duplexr   r   ,running)r   r	   net_if_addrsr3   
net_if_mtunet_if_flagsrb   rc   rd   re   rf   researchintgroupjoingetr
   r   	snicstats)
duplex_maprG   namesrF   namemtuflagsduplexspeedrl   rU   rV   	re_resultoutput_flagsisups                  r8   net_if_statsr      s=   )?CJ'>*>aqT>E*
Cood#!!$'
 t,????

 
4:3C
 <<1		5vI $IOOA./"+xxE!(:;%%dEM	; < JA +s   Ec                  ,    [         R                  " 5       $ )z:The system boot time expressed in seconds since the epoch.)r3   	boot_timerO   r:   r8   r   r     s    >>r:   c                      / n [         R                  " 5       nSnU HB  nUu  pEpgpU(       d  M  Xb;   a  Sn[        R                  " XEXgU	5      n
U R	                  U
5        MD     U $ )z:Return currently connected users as a list of namedtuples.)z:0.0z:0	localhost)r3   usersr   suserr}   )r   r   r   r   r&   ttyhostnametstampuser_processr   r   s              r8   r   r     se    GjjlGI9=68\  "H]]4h<r  Nr:   c                      [         R                  " [        5       5       V s/ s H$  o R                  5       (       d  M  [	        U 5      PM&     sn $ s  sn f )z7Returns a list of PIDs currently running on the system.)rL   listdirr   isdigitr   )rG   s    r8   pidsr   -  s4    JJ'89I9qYY[FCF9IIIs
   AAc                     [         R                  R                  [         R                  R                  [	        5       [        U 5      S5      5      $ )z&Check for the existence of a unix pid.psinfo)rL   pathexistsr   r   strr   s    r8   
pid_existsr   2  s-    77>>"'',,'8#c(HMNNr:   c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )z{Call callable into a try/except clause and translate ENOENT,
EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
c                   > U R                   U R                  U R                  pTn T" U /UQ70 UD6$ ! [        [        4 a.  n[        U5      (       d  [        X55      Ue[        X5U5      UeS nAf[         a  n[        X55      UeS nAff = frX   )
r   _ppid_nameFileNotFoundErrorProcessLookupErrorr   r   r   PermissionErrorr   )selfargskwargsr   r   r   errfuns          r8   wrapper wrap_exceptions.<locals>.wrapper<  s    ((DJJ

4
	3t-d-f--!#56 	: c??#C.C740c9 	3s)s2	3s!   2 B	)A++B	8BB	)	functoolswraps)r   r   s   ` r8   wrap_exceptionsr   7  s'    
 __S3 3 Nr:   c                      \ rS rSrSr/ SQrS rS rS r\	\
S 5       5       r\	\
S 5       5       r\	S	 5       r\	S
 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\(       a  \	S 5       r\	S"S j5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\r\	S 5       r S r!\	S 5       r"\	S 5       r#\	S#S j5       r$\%(       a  \	S  5       r&S!r'gS!r'g)$ProcessiN  z1Wrapper class around underlying C implementation.)_cacher   r   _procfs_pathr   c                 J    Xl         S U l        S U l        [        5       U l        g rX   )r   r   r   r   r   )r   r   s     r8   __init__Process.__init__S  s     

+-r:   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rX   )_proc_basic_infocache_activate
_proc_credr   s    r8   oneshot_enterProcess.oneshot_enterY  s(    ,,T2&&t,r:   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rX   )r   cache_deactivater   r   s    r8   oneshot_exitProcess.oneshot_exit]  s(    ..t4((.r:   c                 X    [         R                  " U R                  U R                  5      $ rX   )r3   proc_basic_infor   r   r   s    r8   r   Process._proc_basic_infoa  s!     ##DHHd.?.?@@r:   c                 X    [         R                  " U R                  U R                  5      $ rX   )r3   	proc_credr   r   r   s    r8   r   Process._proc_credf  s     ~~dhh(9(9::r:   c                     U R                   S:X  a  g[        R                  " U R                   U R                  5      R	                  S5      $ )Nr   swapper )r   r3   	proc_namer   rstripr   s    r8   r   Process.namek  s6    88q=~~dhh(9(9:AA&IIr:   c                    U R                  5       nU(       d  gUS   n[        R                  R                  U;   Ga  [        R                  R	                  U5      (       dK  [        R                  R                  [        R                  R                  U R                  5       U5      5      n[        R                  R	                  U5      (       aP  [        R                  R                  U5      (       a,  [        R                  " U[        R                  5      (       a  U$ [        R                  R                  U5      n[        R                  S   R                  S5       H  n[        R                  R                  [        R                  R                  X25      5      n[        R                  R                  U5      (       d  Me  [        R                  " U[        R                  5      (       d  M  Us  $    g)Nry   r   PATH:)cmdlinerL   r   sepisabsabspathr   cwdisfileaccessX_OKbasenameenvironsplit)r   r   exer   possible_exes        r8   r  Process.exer  s2    ,,.aj77;;#77==%%ggoobggll488:s&CDc""GGNN3''IIc277++
''""3'CJJv&,,S1D77??277<<+BCLww~~l++		bgg1 1 $# 2 r:   c                 B    [         R                  " U R                  5      $ rX   )r3   	proc_argsr   r   s    r8   r   Process.cmdline  s    ~~dhh''r:   c                 B    [         R                  " U R                  5      $ rX   )r3   proc_environr   r   s    r8   r  Process.environ  s      **r:   c                 6    U R                  5       [        S      $ )Nr   r   proc_info_mapr   s    r8   r   Process.create_time      $$&}]'CDDr:   c                 6    U R                  5       [        S      $ )Nr!   r  r   s    r8   r!   Process.num_threads  r  r:   c                    [         R                  " U R                  5      n/ nU H.  u  p4n[        R                  " X4U5      nUR                  U5        M0     U(       d/  [        R                  " U R                   SU R                   35        U$ )N/)	r3   r   r   r   pthreadr}   rL   statr   )r   r   r   	thread_idutimestimer   s          r8   threadsProcess.threads  sr    ''1GG+2'	% 5Av& ,3 4,,-Qtxxj9:Nr:   c                     [        XR                  S9nU(       d/  [        R                  " U R                   SU R                   35        U$ )N)r   r  )r   r   rL   r  r   )r   r   rF   s      r8   r   Process.net_connections  s<    d2 GGt(()488*56
r:   c                 B    [         R                  " U R                  5      $ rX   )r3   proc_priority_getr   r   s    r8   nice_getProcess.nice_get  s    %%dhh//r:   c                 D    [         R                  " U R                  U5      $ rX   )r3   proc_priority_setr   )r   values     r8   nice_setProcess.nice_set  s    %%dhh66r:   c                 X    U R                  5       [        S      U l        U R                  $ )Nr   )r   r  r   r   s    r8   r   Process.ppid  s&    **,]6-BC
zzr:   c                 \    U R                  5       u  pn    n[        R                  " XU5      $ rX   r   r   puids)r   real	effectivesaved_s        r8   uidsProcess.uids  s*    *.//*;'1a}}Te44r:   c                 Z    U R                  5       u      pp4[        R                  " X#U5      $ rX   r/  )r   r4  r1  r2  r3  s        r8   gidsProcess.gids  s(    *.//*;'1ay}}Te44r:   c                 ~    [         R                  " U R                  U R                  5      n[        R
                  " U6 $ rX   )r3   proc_cpu_timesr   r   r   	pcputimes)r   ts     r8   rH   Process.cpu_times  s/    $*;*;<  !$$r:   c                     U R                  5       [        S      nUS-  S-	  US-  -  n[        R                  " S5       H+  n[        R                  " U5      R
                  U:X  d  M)  Us  $    g )Nr#   l           i  z	/dev/**/*)r   r  globrL   r  st_rdev)r   ttydevdevs      r8   terminalProcess.terminal  sf    &&(w)?@..25&6/J99[)Cwws|##v-
 * r:   c                     U R                   n [        R                  " U SU R                   S35      nUR	                  S5      $ ! [
         a(    [        R                  " U SU R                   35         gf = f)Nr  z/cwdry   )r   rL   readlinkr   r   r   r  )r   procfs_pathresults      r8   r  Process.cwd  sm    ''	[[K=$((4!@AF==%%  	GG{m1TXXJ/0	s   6A /A76A7c                 t    U R                  5       nU[        S      S-  nU[        S      S-  n[        X#5      $ )Nr   i   r   )r   r  r$   )r   rF   r   r   s       r8   memory_infoProcess.memory_info  sB    ##%-&'$.-&'$.C~r:   c                 b    U R                  5       [        S      n[        R                  US5      $ )Nr"   ?)r   r  PROC_STATUSESr   )r   codes     r8   r"   Process.status  s-    $$&}X'>?  s++r:   c           	      b   [         R                  " SS[        U R                  5      /[         R                  [         R                  S9nUR                  5       u  p#S X#4 5       u  p#SUR                  5       ;   a   [        U R                  U R                  5      e[        R                  " SU5      n/ nU Hu  u  pgUR                  5       nUR                  S5      (       a  USS  nUR                  5       S	:X  a  MF  UR                  [        R                  " U[!        U5      5      5        Mw     U$ )
Nz/usr/bin/procfilesz-nrT   c              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7frX   rY   r]   s     r8   r_   %Process.open_files.<locals>.<genexpr>	  r   ra   zno such processz(\d+): S_IFREG.*name:(.*)\nz//r   zcannot be retrieved)rb   rc   r   r   rd   re   lowerr   r   r   findallrh   
startswithr}   r   	popenfiler   )r   rl   rU   rV   	procfilesr   r   r   s           r8   
open_filesProcess.open_files   s     !4TXX7????

 
4:3C
 .$**55JJ=vF	!HB::<Dt$$ABxzz|44NN7,,T3r7;< " r:   c                     U R                   S:X  a  g[        [        R                  " U R                   SU R                    S35      5      $ )Nr   r  z/fd)r   rj   rL   r   r   r   s    r8   num_fdsProcess.num_fds  s<    88q=2::!2!2 31TXXJcBCDDr:   c                 d    [         R                  " [        R                  " U R                  5      6 $ rX   )r   pctxswr3   proc_num_ctx_switchesr   r   s    r8   num_ctx_switchesProcess.num_ctx_switches  s     ~~t99$((CDDr:   Nc                 X    [         R                  " U R                  XR                  5      $ rX   )r   wait_pidr   r   )r   timeouts     r8   waitProcess.wait#  s      7JJ??r:   c                     [         R                  " U R                  5      u  pp4[        R                  " XX45      $ ! [         aA  n[	        U R                  5      (       d!  [        U R                  U R                  5      Uee S nAff = frX   )	r3   r   r   OSErrorr   r   r   r   pio)r   rcwcrbwbr   s         r8   io_countersProcess.io_counters)  so    !%!6!6txx!@ ;;rr..   "$((++'$**=3Fs   #< 
B<BB)r   r   r   r   )inetrX   )(__name__
__module____qualname____firstlineno____doc__	__slots__r   r   r   r   r   r   r   r   r  r   r  r   r!   HAS_THREADSr  r   r%  r*  r   r5  r8  rH   rE  r  rM  memory_full_infor"   r\  r_  rd  ri  HAS_PROC_IO_COUNTERSrr  __static_attributes__rO   r:   r8   r   r   N  s-   ;CI.-/ A  A ;  ; J J  : ( ( + + E E E E 		 
	  
 
 0 0 7 7   5 5 5 5 % %       #, ,
2 E E
 E E @ @ 			/ 
		/ r:   r   )F)r   )]ry  r   rA  rL   r   rb   r[   collectionsr   ry   r   r   r   r3   r   r	   r
   r   r   r   r   r   r   r   __extra__all__hasattrr{  HAS_NET_IO_COUNTERSr}  getpagesize	PAGE_SIZEAF_LINKSIDLSTATUS_IDLESZOMBSTATUS_ZOMBIESACTIVESTATUS_RUNNINGSSWAPSSTOPSTATUS_STOPPEDrQ  TCPS_ESTABLISHEDCONN_ESTABLISHEDTCPS_SYN_SENTCONN_SYN_SENTTCPS_SYN_RCVD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   dictr  r$   pfullmemr%   r*   r9   r@   rH   rB   rP   ro   rq   disk_io_countersr{   rz   r   r   r   r   r   r   r   r   r   r   rO   r:   r8   <module>r     s   #   	 	  
 "   ! $ $ ' ! " " # $ + " dN+d$56 t%78 	
,, 	IIw""JJ%%LL'((JJ&&JJ&& 	733----'00'00//g(('11--g))w++7,, 	
			

	$ &5%.){$HI	7MN5@3(	# ((   
4   **O6#V
0J
O
.e/ e/r:   