bg?LdZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z dd lm Z dd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZgZe jZe jZe jeje jej e j!ej"e j#ej$e j%ej&e j'ej(e j)ej*e j+ej,e j-ej.e j/ej0e j1ej2e j3ej4i Z5e j6ej7e j8ej9e j:ej;e j<ej=e j>ej?iZ@eAddddddddddd ZBeAddddddddZCedgd ZDed!gd"ZEed#gd$ZFed%eFjGd&zZHd'ZId(ZJd)ZKd*ZLd+ZMd,ZNd-ZOd.ZPejQZQe jRZRdzmacOS platform implementation.N) namedtuple)_common)_psposix) _psutil_osx) _psutil_posix) AccessDenied) NoSuchProcess) ZombieProcess) conn_tmap)conn_to_ntuple) isfile_strict)memoize_when_activated)parse_environ_block) usage_percent)PermissionError)ProcessLookupError ) ppidruideuidsuidrgidegidsgidttynrctimestatusname)cpuutimecpustimerssvmspfaultspageins numthreadsvolctxsw scputimesusernicesystemidlesvmem)total availablepercentusedfreeactiveinactivewiredpmem)r*r+r,r-pfullmem)ussc tj\}}}}}}||z}||z}||z}t||z |d}t||||||||S)z&System virtual memory as a namedtuple.rround_)cext virtual_memrr6) r7r<r=r>r; speculativeavailr:r9s `/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/psutil/_psosx.pyvirtual_memoryrJosx8<8H8J8J5E68UD+ tOE E>D KDUU]U1===G wd5 * **ctj\}}}}}t||d}tj||||||S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rrC)rEswap_memrrsswap)r7r:r;sinsoutr9s rI swap_memoryrQsF#'=?? E4sDD%222G =dGS$ ? ??rKcVtj\}}}}t||||S)z(Return system CPU times as a namedtuple.)rE cpu_timesr0r1s rIrSrSs,#~//D$ T4 . ..rKcg}tjD]0}|\}}}}t||||}||1|S)z(Return system CPU times as a named tuple)rE per_cpu_timesr0append)retcpu_tr2r3r4r5items rIrUrUsZ C#%%#( dFDtVT22 4 JrKc(tjS)z0Return the number of logical CPUs in the system.)rEcpu_count_logicalrKrIr[r[s  ! # ##rKc(tjS)z-Return the number of CPU cores in the system.)rEcpu_count_coresr\rKrIr^r^s   ! !!rKcbtj\}}}}}tj||||SN)rE cpu_statsr scpustats) ctx_switches interruptssoft_interruptssyscallstrapss rIraras: ?L*ox  j/8 = ==rKc^tj\}}}tj|||gS)zReturn CPU frequency. On macOS per-cpu frequency is not supported. Also, the returned frequency never changes, see: https://arstechnica.com/civis/viewtopic.php?f=19&t=465002 )rEcpu_freqrscpufreq)currmin_max_s rIriris. }D$  T4 . . //rKFc >g}tj}|D]}|\}}}}|dkrd}|s?tj|rtj|sRdx}} t j|||||| } || |S)z8Return mounted disk partitions as a list of namedtuples.noneN) rEdisk_partitionsospathisabsexistsr sdiskpartrV) allretlist partitions partitiondevice mountpointfstypeoptsmaxfilemaxpathntuples rIrqrqsG%''J   +4( FD V  F 7==(( v0F0F   '"6:vt#*G55v NrKc tj\}}}n#t$rYdSwxYw|dk}|r tj}n|dkr tj}n|dz}tj|||S)zReturn battery information.Nr<)rEsensors_batteryNotImplementedErrorrPOWER_TIME_UNLIMITEDPOWER_TIME_UNKNOWNsbattery)r9minsleft power_pluggedsecslefts rIrrs+/+?+A+A(== tt"Q&M!/ R-b=  GX} = ==s  ((inetcg}tD]p} t||}|r9|D]6}t||gz}|t j|7a#t$rYmwxYw|S)z System-wide network connections.)pidsProcess connectionslistrVrsconnr )kindrWpidconscs rInet_connectionsrs Cvv 2 2 23<<++D11D 222AQ3%AJJw}a01111     H  Js"A22 A?>A?ct}i}|D]} tj|}tj|}tj|\}}t tdrtj|}d |}d|v}tj |||||||<#t$r } | j tj krYd} ~ d} ~ wwxYw|S)z)Get NIC stats (isup, duplex, speed, mtu). NicDuplex,runningN)net_io_counterskeys cext_posix net_if_mtu net_if_flagsnet_if_duplex_speedhasattrrrjoin snicstatsOSErrorerrnoENODEV) namesrWr'mtuflagsduplexspeed output_flagsisuperrs rI net_if_statsrs    " " $ $E C88 8'--C+D11E&:4@@MFE w ,, 3 *62288E??L%D)$s*688CII   yEL(()((((  Js?C C/C**C/c(tjS)z:The system boot time expressed in seconds since the epoch.)rE boot_timer\rKrIrrs >  rKcg}tj}|D]E}|\}}}}}|dkr|stj||pd|pd||}||F|S)z:Return currently connected users as a list of namedtuples.~N)rEusersrsuserrV) rxrawlistrYr2ttyhostnametstamprnts rIrr$sGjllG+/(c8VS #::    ]4h.>$ L Lr NrKctj}d|vrj td|ddn1#t $rYn%t $r|ddYnwxYw|SNr)rErr create_timeinsertr r )lss rIrr8s B{{  AJJ " " $ $ $ IIaOOOO    D    IIaOOOOO  Is7A A?A?>A?c tj|td}|tjkS#t$rYdSwxYw)Nr&F)rEproc_kinfo_oneshotkinfo_proc_mapSZOMB Exception)rsts rI is_zombierKsP  $S ) ).*B CTZ uus47 AAcFtjfd}|S)z`Decorator which translates bare OSError exceptions into NoSuchProcess and AccessDenied. cx |g|Ri|S#t$rOt|jr t|j|j|jt |j|jt$rt|j|jtj $r!t|j|j|jwxYwr`) rrrr _name_ppidr rr rEZombieProcessError)selfargskwargsfuns rIwrapperz wrap_exceptions..wrapperWs B3t-d---f-- -! : : :"" :#DHdj$*EEE#DHdj999 5 5 5tx44 4& B B B$*djAA A Bs B*B9) functoolswraps)rrs` rIwrap_exceptionsrSs?_S B B B B B NrKcveZdZdZgdZdZeedZeedZ dZ dZ edZ ed Z ed Zed Zed Zed ZedZedZedZedZedZedZedZedZedZedZed!dZedZed"dZedZedZ edZ!ed Z"dS)#rz1Wrapper class around underlying C implementation.)rrr_cachec0||_d|_d|_dSr`)rrr)rrs rI__init__zProcess.__init__ls  rKctj|j}t|ttksJ|Sr`)rErrlenrrrWs rI_get_kinfo_proczProcess._get_kinfo_procqs:%dh//3xx3~...... rKctj|j}t|ttksJ|Sr`)rEproc_pidtaskinfo_oneshotrrpidtaskinfo_maprs rI_get_pidtaskinfozProcess._get_pidtaskinfoys:+DH553xx3////// rKcn|j||j|dSr`)rcache_activaterrs rI oneshot_enterzProcess.oneshot_enters6 ++D111 ,,T22222rKcn|j||j|dSr`)rcache_deactivaterrs rI oneshot_exitzProcess.oneshot_exits6 --d333 ..t44444rKc|td}||ntj|jS)Nr')rrrE proc_namer)rr's rIr'z Process.names8##%%nV&<='ttT^DH-E-EErKc4tj|jSr`)rEproc_exerrs rIexez Process.exe}TX&&&rKc4tj|jSr`)rE proc_cmdlinerrs rIcmdlinezProcess.cmdlines ***rKcNttj|jSr`)rrE proc_environrrs rIenvironzProcess.environs"4#4TX#>#>???rKcd|td|_|jS)Nr)rrrrs rIrz Process.ppids'))++N6,BC zrKc4tj|jSr`)rEproc_cwdrrs rIcwdz Process.cwdrrKc|}tj|td|td|tdS)Nrrr rrpuidsrrrawtuples rIuidsz Process.uidsN''))} ^F+ , ^F+ , ^F+ ,.. .rKc|}tj|td|td|tdS)Nr!r"r#rrs rIgidsz Process.gidsrrKc|td}tj} ||S#t$rYdSwxYw)Nr$)rrrget_terminal_mapKeyError)rtty_nrtmaps rIterminalzProcess.terminals\%%''w(?@(** <    44 sA AAc|}t|td|td|td|tdS)Nr*r+r,r-)rr?rrs rI memory_infozProcess.memory_infosY((** _U+ , _U+ , _Y/ 0 _Y/ 0    rKcv|}tj|j}t ||fzSr`)r rEproc_memory_ussrr@)r basic_memrAs rImemory_full_infozProcess.memory_full_infos7$$&& "48,,cW,--rKc|}tj|td|tdddS)Nr(r)g)rr pcputimesrrs rIrSzProcess.cpu_timessG((** _Z0 1 _Z0 1   rKcL|tdS)Nr%)rrrs rIrzProcess.create_times##%%nW&=>>rKcv|td}tj|dS)Nr/r)rrrpctxsw)rvols rInum_ctx_switcheszProcess.num_ctx_switchess1 ##%%oj&AB~c1%%%rKcL|tdS)Nr.)rrrs rI num_threadszProcess.num_threadss$$&&|'DEErKc|jdkrgSg}tj|j}|D]>\}}t|r*t j||}||?|Sr)rrEproc_open_filesrr popenfilerV)rfilesrrsfdrs rI open_fileszProcess.open_filessv 8q==I&tx00 % %HD"T"" % *444 V$$$ rKrc Z|tvr7td|dddtDt|\}}tj|j||}g}|D]:}|\}}} } } } t ||| | | | t} || ;|S)Nzinvalid z kind argument; choose between z, c,g|]}t|Sr\)repr).0xs rI z'Process.connections..s0L0L0LQa0L0L0LrK) r ValueErrorrrEproc_connectionsrr TCP_STATUSESrV)rrfamiliestypesrrWrYrfamtypeladdrraddrr&rs rIrzProcess.connectionss y * $dii0L0L)0L0L0L&M&M&MOPP P#D/%'(EBB  D26 /BT5%CueV ,..B JJrNNNN rKcN|jdkrdStj|jSr)rrE proc_num_fdsrs rInum_fdszProcess.num_fdss% 8q==1 ***rKNcBtj|j||jSr`)rwait_pidrr)rtimeouts rIwaitz Process.waits 7DJ???rKc4tj|jSr`)r getpriorityrrs rInice_getzProcess.nice_get s%dh///rKc6tj|j|Sr`)r setpriorityr)rvalues rInice_setzProcess.nice_sets%dh666rKc|td}t|dS)Nr&?)rr PROC_STATUSESget)rcodes rIr&zProcess.statuss3##%%nX&>?  s+++rKctj|j}g}|D]1\}}}tj|||}||2|Sr`)rE proc_threadsrrpthreadrV)rrrx thread_idutimestimers rIthreadszProcess.threadss\#DH--'. # # #Iue_Yu==F NN6 " " " "rKrr`)#__name__ __module__ __qualname____doc__ __slots__rrrrrrrr'rrrrrrrrr r rSrrrrrr.r2r5r9r&rEr\rKrIrrgs";;333I _ _ 333555FF_F''_'++_+@@_@_''_'.._..._._  _ .._. _??_?&&_&FF_F  _    _ ++_+ @@@_@00_077_7,,_, _rKr)FrF)arJrrrr collectionsrrprrrrErrr r r r r rrrr_compatrr__extra__all__ getpagesizePAGESIZEAF_LINKTCPS_ESTABLISHEDCONN_ESTABLISHED TCPS_SYN_SENT CONN_SYN_SENTTCPS_SYN_RECEIVED CONN_SYN_RECVTCPS_FIN_WAIT_1CONN_FIN_WAIT1TCPS_FIN_WAIT_2CONN_FIN_WAIT2TCPS_TIME_WAITCONN_TIME_WAIT TCPS_CLOSED CONN_CLOSETCPS_CLOSE_WAITCONN_CLOSE_WAIT TCPS_LAST_ACK CONN_LAST_ACK TCPS_LISTEN CONN_LISTEN TCPS_CLOSING CONN_CLOSINGPSUTIL_CONN_NONE CONN_NONEr%SIDL STATUS_IDLESRUNSTATUS_RUNNINGSSLEEPSTATUS_SLEEPINGSSTOPSTATUS_STOPPEDr STATUS_ZOMBIEr<dictrrr0r6r?_fieldsr@rJrQrSrUr[r^rari disk_usagedisk_io_countersrqrr net_if_addrsrrrrr pid_existsrrobjectrr\rKrIrzs %$  """"""!!!!!!))))))!!!!!!""""""""""""######""""""++++++((((((""""""$$$$$$'''''' ": ! # #   73-G1'0'0/g('1-g)w+7,   Iw"Iw%K(J&J%      $        $ J{$F$F$F G G   --- . .z&>>>?? :j$,": ; ;***"@@@/// $$$ """ ===000 (.>>>,&& $8   (     (xxxxxfxxxxxrK