HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/osm/venv/lib64/python3.10/site-packages/psutil/__pycache__/_pssunos.cpython-310.pyc
o

=ia�@s�dZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddl
mZddl
m
Zdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZgd�Ze��ZejZejdkZ dZ!dZ"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej&ej.ej/iZ0ej1ej2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIe!ejJe"iZKeLdddddddddd d!d"d#�ZMed$gd%��ZNed&gd'��ZOed(gd)��ZPed*d+d,g�ZQeQZRed-gd.��ZSed/d0d1�TeSjU��ZVd2d3�ZWd4d5�ZXd6d7�ZYd8d9�ZZd:d;�Z[d<d=�Z\d>d?�Z]ej^Z^ej_Z_dTdAdB�Z`ejaZaejbZbdUdDdE�ZcdFdG�ZddHdI�ZedJdK�ZfdLdM�ZgdNdO�ZhdPdQ�ZiGdRdS�dS�ZjdS)Vz'Sun OS Solaris platform implementation.�N)�
namedtuple)�AF_INET�)�_common)�_psposix)�
_psutil_sunos)�AF_INET6)�ENCODING)�AccessDenied)�
NoSuchProcess)�
ZombieProcess)�debug)�get_procfs_path)�
isfile_strict)�memoize_when_activated)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�	CONN_IDLE�
CONN_BOUNDZPROCFS_PATHlZIDLEZBOUND��������	�
�)�ppid�rss�vms�create_time�nice�num_threads�status�ttynr�uid�euid�gid�egid�	scputimes)�user�systemZidleZiowait�	pcputimes)r-r.�
children_user�children_system�svmem)�total�	available�percent�used�free�pmemr!r"�
pmmap_grouped)�pathr!Z	anonymous�locked�	pmmap_extzaddr perms � cCsFt�d�t}t�d�t}}||}t||dd�}t|||||�S)zReport virtual memory metrics.�
SC_PHYS_PAGES�SC_AVPHYS_PAGESr�Zround_)�os�sysconf�	PAGE_SIZErr2)r3r7Zavailr6r5�rD�=/opt/osm/venv/lib/python3.10/site-packages/psutil/_pssunos.py�virtual_memoryys
rFc	Cst��\}}tjddtjd��ddgtjd�}|��\}}|�t	j
j�}|jdkr5d|j�d	�}t
|��|���d
�dd�}|sHd
}t
|��d}}|D]"}	|	��}	|	dd�\}
}|tt|
�d�7}|tt|�d�7}qN||}t||dd�}
t�||||
|t|t�S)zReport swap memory metrics.z/usr/bin/envzPATH=/usr/sbin:/sbin:�PATHZswapz-l)�stdoutrz'swap -l' failed (retcode=�)�
rNzno swap device(s) configuredrrir@)�cextZswap_mem�
subprocess�PopenrA�environ�PIPE�communicate�decode�sysrH�encoding�
returncode�RuntimeError�strip�split�intrrZsswaprC)�sinZsout�prH�_�msg�linesr3r7�line�t�fr6r5rDrDrE�swap_memory�s:��	
�racCst��}tdd�t|�D��S)z.Return system-wide CPU times as a named tuple.cSsg|]}t|��qSrD)�sum��.0�xrDrDrE�
<listcomp>��zcpu_times.<locals>.<listcomp>)rK�
per_cpu_timesr,�zip��retrDrDrE�	cpu_times�srlcCst��}dd�|D�S)z6Return system per-CPU times as a list of named tuples.cSsg|]}t|��qSrD)r,rcrDrDrErf�rgz!per_cpu_times.<locals>.<listcomp>)rKrhrjrDrDrErh�srhcCs"zt�d�WStyYdSw)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)rArB�
ValueErrorrDrDrDrE�cpu_count_logical�s
�rocC�t��S)z-Return the number of CPU cores in the system.)rK�cpu_count_coresrDrDrDrErq��rqcCs$t��\}}}}d}t�||||�S)z*Return various CPU stats as a named tuple.r)rK�	cpu_statsrZ	scpustats)Zctx_switchesZ
interruptsZsyscallsZ_trapsZsoft_interruptsrDrDrErs�s
�rsFc
Cs�g}t��}|D]C}|\}}}}|dkrd}|s>z	t|�js WqWnty=}ztd|�d|���WYd}~qd}~wwt�||||�}	|�|	�q|S)zReturn system disk partitions.�none�z	skipping z: N)	rK�disk_partitions�
disk_usager3�OSErrorr
rZ	sdiskpart�append)
�all�retlistZ
partitions�	partitionZdeviceZ
mountpointZfstype�opts�errZntuplerDrDrErv�s&
���rv���c
Cs�tj|\}}t�|�}t�}|D]T}|\}}}	}
}}}
||vr!q|	|vr&q|tthvr:|
r3tj|
�}
|r:tj|�}t|}t	|�}t
|	�}	|dkrVt�|||	|
|||
�}n
t�|||	|
||�}|�
|�qt|�S)z�Return socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    Only INET sockets are returned (UNIX are not).
    r)rZ	conn_tmaprK�net_connections�setrr�addr�TCP_STATUSESrrZsconn�pconn�add�list)�kind�_pidZfamilies�types�rawlistrk�item�fdZfam�type_�laddr�raddrr&�pid�ntrDrDrEr�s,


r�cCsTt��}|��D]\}}|\}}}}ttd�rt�|�}t�||||d�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplexru)rK�net_if_stats�items�hasattrrr�Z	snicstats)rk�namer�ZisupZduplex�speedZmturDrDrEr� s

r�cCrp)z:The system boot time expressed in seconds since the epoch.)rK�	boot_timerDrDrDrEr�0rrr�cCs\g}t��}d}|D]!}|\}}}}}}	|sq
||vrd}t�|||||	�}
|�|
�q
|S)z:Return currently connected users as a list of namedtuples.)z:0.0z:0�	localhost)rK�usersrZsuserry)r{r�r�r�r-�tty�hostnameZtstampZuser_processr�r�rDrDrEr�5sr�cCs t��t�}dd�t�|�D�S)z7Returns a list of PIDs currently running on the system.cSsg|]
}|��rt|��qSrD)�isdigitrXrcrDrDrErfPszpids.<locals>.<listcomp>)r�encoder	rA�listdir)r:rDrDrE�pidsMsr�cCs
t�|�S)z&Check for the existence of a unix pid.)r�
pid_exists)r�rDrDrEr�Ss
r�cst����fdd��}|S)z�Call callable into a try/except clause and translate ENOENT,
    EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
    c
s�|j|j|j}}}z�|g|�Ri|��WSttfy6}zt|�s+t||�|�t|||�|�d}~wtyG}zt	||�|�d}~wt
yc}z|dkr^dt�vr]t	||�|���d}~ww�Nr)r��_ppid�_name�FileNotFoundError�ProcessLookupErrorr�rr�PermissionErrorr
rxr�)�self�args�kwargsr�r r�r~��funrDrE�wrapper]s&��
��z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rDr�rE�wrap_exceptionsXsr�c@s�eZdZdZgd�Zdd�Zdd�Zdd�Zd	d
�Ze	e
dd���Ze	e
d
d���Ze	e
dd���Z
e	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd��Ze	dd ��Ze	d!d"��Ze	d#d$��Ze	d%d&��Ze	d'd(��Ze	d)d*��Ze	d+d,��Ze	d-d.��Ze	d/d0��ZeZe	d1d2��Ze	d3d4��Z e	d5d6��Z!d7d8�Z"e	dHd:d;��Z#e$d<d=�Z%e$d<d>�Z&e	d?d@��Z'e	dAdB��Z(e	dCdD��Z)e	dIdFdG��Z*dES)J�Processz1Wrapper class around underlying C implementation.)�_cacher�r��_procfs_pathr�cCs||_d|_d|_t�|_dS�N)r�r�r�rr�)r�r�rDrDrE�__init__zszProcess.__init__cCst�|j�d|j���dS)z+Raise NSP if the process disappeared on us.�/N)rA�statr�r��r�rDrDrE�
_assert_alive�szProcess._assert_alivecC�(|j�|�|j�|�|j�|�dSr�)�_proc_name_and_argsZcache_activate�_proc_basic_info�
_proc_credr�rDrDrE�
oneshot_enter��zProcess.oneshot_entercCr�r�)r�Zcache_deactivater�r�r�rDrDrE�oneshot_exit�r�zProcess.oneshot_exitcC�t�|j|j�Sr�)rKZproc_name_and_argsr�r�r�rDrDrEr���zProcess._proc_name_and_argscCsX|jdkrtj�|j�d|j�d��st|j��t�|j|j�}t|�tt	�ks*J�|S)Nrr�z/psinfo)
r�rAr:�existsr�r
rKZproc_basic_info�len�
proc_info_map)r�rkrDrDrEr��s�
zProcess._proc_basic_infocCr�r�)rKZ	proc_credr�r�r�rDrDrEr��r�zProcess._proc_credcC�|��dSr��r�r�rDrDrEr��szProcess.namecCs<zt�|j�d|j�d��WStyYnw|��dS)Nr�z/path/a.outru)rA�readlinkr�r�rx�cmdliner�rDrDrE�exe�s�zProcess.execCr�)Nrr�r�rDrDrEr��szProcess.cmdlinecCr�r�)rKZproc_environr�r�r�rDrDrErN��zProcess.environcC�|��tdS)Nr#�r�r�r�rDrDrEr#�r�zProcess.create_timecCr�)Nr%r�r�rDrDrEr%�r�zProcess.num_threadscCr�)Nr$r�r�rDrDrE�nice_get�szProcess.nice_getcCs&|jdvrt|j|j��t�|j|�S)N>rr)r�r
r�rKZproc_priority_set)r��valuerDrDrE�nice_set�s
zProcess.nice_setcCs|��td|_|jS)Nr )r�r�r�r�rDrDrEr �szProcess.ppidcCs^z|��\}}}}}}Wnty'|��td}|��td}d}Ynwt�|||�S)Nr(r)�r�r
r�r�rZpuids)r��real�	effective�savedr[rDrDrE�uids���zProcess.uidscCs^z|��\}}}}}}Wnty'|��td}|��td}d}Ynwt�|||�S)Nr*r+r�)r�r[r�r�r�rDrDrE�gids�r�zProcess.gidsc
Cs\z
t�|j|j�}Wnty(}z|jtjkrtsd}n�WYd}~nd}~wwtj	|�S)N)�r�r�r�)
rKZproc_cpu_timesr�r�rx�errno�	EOVERFLOW�	IS_64_BITrr/)r��timesr~rDrDrErl�s���
zProcess.cpu_timescCr�r�)rKZproc_cpu_numr�r�r�rDrDrE�cpu_numr�zProcess.cpu_numc	Cs~|j}d}t|��td�}|tjkr5dD]}zt�|�d|j�d|���WSt	y4d}Yqw|r=|�
�dSdS)NFr')rrr�r��/path/T)r�r�r�r�rKZPRNODEVrAr�r�r�r�)r��procfs_path�
hit_enoentr�rerDrDrE�terminals
"��zProcess.terminalcCsL|j}z
t�|�d|j�d��WSty%t�|�d|j���YdSw)Nr�z	/path/cwdru)r�rAr�r�r�r�)r�r�rDrDrE�cwds�zProcess.cwdcCs2|��}|tdd}|tdd}t||�S)Nr!ir")r�r�r8)r�rkr!r"rDrDrE�memory_info"s
zProcess.memory_infocCs|��td}t�|d�S)Nr&�?)r�r��
PROC_STATUSES�get)r��coderDrDrEr&+szProcess.statusc
Cs�|j}g}t�|�d|j�d��}d}|D]H}t|�}zt�|j||�\}}Wn)tyP}z|jtj	kr=t
s=WYd}~q|jtjkrKd}WYd}~q�d}~wwt�
|||�}	|�|	�q|rd|��|S)Nr�z/lwpFT)r�rAr�r�rXrKZquery_process_threadrxr�r�r��ENOENTrZpthreadryr�)
r�r�rkZtidsr��tid�utimeZstimer~r�rDrDrE�threads1s0���zProcess.threadsc	Cs�g}d}|j}|�d|j�d�}t�|�d|j�d��D]1}tj�||�}tj�|�rMzt�|�}Wnty=d}Yqwt	|�rM|�
t�|t
|���q|rT|��|S)NFr�z/path�/fdT)r�r�rAr�r:�join�islinkr�r�rryrZ	popenfilerXr�)r�r{r�r�Zpathdirr�r:�filerDrDrE�
open_filesSs&��zProcess.open_filesccs,�dt|�g}tj|tjtjd�}|��\}}dd�||fD�\}}|jdkrLd|��vr4t|j|j	��d|��vrAt
|j|j	��|�d|��}t|��|�d	�d
d�}t
|�D]:\}}	|	��}	|	�d�r�|	�d
d
�d
}
||d
��}|dkr~tj}n
|dkr�tj}nd}dtj||
dtjfVqYdS)z<Get UNIX sockets used by process by parsing 'pfiles' output.Zpfiles)rH�stderrcss�|]
}|�tjj�VqdSr�)rQrRrHrSrcrDrDrE�	<genexpr>qs�
�z,Process._get_unix_sockets.<locals>.<genexpr>rzpermission deniedzno such processz command error
rJrNzsockname: AF_UNIXr=�SOCK_STREAM�
SOCK_DGRAMrru)�strrLrMrOrPrT�lowerr
r�r�rrUrW�	enumerate�lstrip�
startswithrV�socketr�r��AF_UNIXr�	CONN_NONE)r�r��cmdrZrHr�r\r]�ir^r:�typerDrDrE�_get_unix_socketshs<�
�
�

��zProcess._get_unix_sockets�inetcCsRt||jd�}|st�|j�d|j���|dvr'|�dd�|�|j�D��|S)N)r�r�>rz�unixcSsg|]}tj|��qSrD)rr�)rd�connrDrDrErf�s��z+Process.net_connections.<locals>.<listcomp>)r�r�rAr�r��extendr)r�r�rkrDrDrEr��s

�zProcess.net_connections�mmapzpath rss anon lockedzaddr perms path rss anon lockedcCs*dd�}|j}g}z	t�|j|�}Wnty/}z|jtjkr*ts*gWYd}~S�d}~wwd}|D]X}|\}}	}
}}}
}|||	�}|�d�s�zt	�
|�d|j�d|���}Wn'ty�}z|jtjkru|�d|j�d|��}d}n�WYd}~nd}~ww|�||
|||
|f�q4|r�|�
�|S)NcSs0d�t|�dd��d�t|�dd��d��S)Nz{}-{}r�L)�format�hexrV)�start�endrDrDrE�toaddr�s(�z#Process.memory_maps.<locals>.toaddrF�[r�r�T)r�rKZproc_memory_mapsr�rxr�r�r�r�rAr�r�ryr�)r�rr�r{r�r~r�r�r�Zaddrsize�permr�r!Zanonr;rDrDrE�memory_maps�s<��

 ���zProcess.memory_mapscCstt�|j�d|j�d���S)Nr�r�)r�rAr�r�r�r�rDrDrE�num_fds�szProcess.num_fdscCstjt�|j|j��Sr�)rZpctxswrKZproc_num_ctx_switchesr�r�r�rDrDrE�num_ctx_switches�s�zProcess.num_ctx_switchesNcCst�|j||j�Sr�)rZwait_pidr�r�)r��timeoutrDrDrE�wait�szProcess.wait)rr�)+�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�r�rr�r�r�r�r�r�rNr#r%r�r�r r�r�rlr�r�r�r�Zmemory_full_infor&r�r�rr�rZnt_mmap_groupedZnt_mmap_extrrrrrDrDrDrEr�us�	







	

	
	






!
"


.

r�)F)r)krr�r�rAr�rLrR�collectionsrrrurrrrKrr	r
rrr
rrrrrrZ__extra__all__ZgetpagesizerCZAF_LINK�maxsizer�rrZSSLEEPZSTATUS_SLEEPINGZSRUNZSTATUS_RUNNINGZSZOMBZ
STATUS_ZOMBIEZSSTOPZSTATUS_STOPPEDZSIDLZSTATUS_IDLEZSONPROCZSWAITZSTATUS_WAITINGr�ZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZ
TCPS_SYN_SENTZ
CONN_SYN_SENTZ
TCPS_SYN_RCVDZ
CONN_SYN_RECVZTCPS_FIN_WAIT_1ZCONN_FIN_WAIT1ZTCPS_FIN_WAIT_2ZCONN_FIN_WAIT2ZTCPS_TIME_WAITZCONN_TIME_WAITZTCPS_CLOSEDZ
CONN_CLOSEZTCPS_CLOSE_WAITZCONN_CLOSE_WAITZ
TCPS_LAST_ACKZ
CONN_LAST_ACKZTCPS_LISTENZCONN_LISTENZTCPS_CLOSINGZCONN_CLOSINGZPSUTIL_CONN_NONEr�Z	TCPS_IDLEZ
TCPS_BOUNDr��dictr�r,r/r2r8Zpfullmemr9r��_fieldsr<rFrarlrhrorqrsZdisk_io_countersrwrvZnet_io_countersZnet_if_addrsr�r�r�r�r�r�r�r�rDrDrDrE�<module>s�
������
.