HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/psutil/__pycache__/_pssunos.cpython-310.pyc
o

�hXa�@sdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddl
mZddl
m
Zdd	l
mZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZgd�Ze��Zej Z ej!dkZ"dZ#dZ$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej(ej0ej1iZ2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGejHejIejJejKe#ejLe$iZMeNddddddddd d!d"d#d$�ZOed%gd&��ZPed'gd(��ZQed)gd*��ZRed+d,d-g�ZSeSZTed.gd/��ZUed0d1d2�VeUjW��ZXd3d4�ZYd5d6�ZZd7d8�Z[d9d:�Z\d;d<�Z]d=d>�Z^d?d@�Z_ej`Z`ejaZadUdBdC�ZbejcZcejdZddVdEdF�ZedGdH�ZfdIdJ�ZgdKdL�ZhdMdN�ZidOdP�ZjdQdR�ZkGdSdT�dT�ZldS)Wz'Sun OS Solaris platform implementation.�N)�
namedtuple)�AF_INET�)�_common)�_psposix)�
_psutil_posix)�
_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_BOUND�PROCFS_PATHl�IDLE�BOUND��������	�
�)�ppid�rss�vms�create_time�nice�num_threads�status�ttynr�uid�euid�gid�egid�	scputimes)�user�system�idle�iowait�	pcputimes)r1r2�
children_user�children_system�svmem)�total�	available�percent�used�free�pmemr%r&�
pmmap_grouped)�pathr%�	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��round_)�os�sysconf�	PAGE_SIZErr8)r9r=�availr<r;�rM�B/usr/local/CyberCP/lib/python3.10/site-packages/psutil/_pssunos.py�virtual_memory{s
rOc	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:�PATH�swapz-l)�stdoutrz'swap -l' failed (retcode=�)�
rNzno swap device(s) configuredrrirG)�cext�swap_mem�
subprocess�PopenrI�environ�PIPE�communicate�decode�sysrR�encoding�
returncode�RuntimeError�strip�split�intrr�sswaprK)�sin�sout�prR�_�msg�linesr9r=�line�t�fr<r;rMrMrN�swap_memory�s:��	
�rncCst��}tdd�t|�D��S)z.Return system-wide CPU times as a named tuple.cSsg|]}t|��qSrM)�sum��.0�xrMrMrN�
<listcomp>��zcpu_times.<locals>.<listcomp>)rU�
per_cpu_timesr0�zip��retrMrMrN�	cpu_times�srycCst��}dd�|D�S)z6Return system per-CPU times as a list of named tuples.cSsg|]}t|��qSrM)r0rprMrMrNrs�rtz!per_cpu_times.<locals>.<listcomp>)rUrurwrMrMrNru�srucCs"zt�d�WStyYdSw)z0Return the number of logical CPUs in the system.�SC_NPROCESSORS_ONLNN)rIrJ�
ValueErrorrMrMrMrN�cpu_count_logical�s
�r|cC�t��S)z-Return the number of CPU cores in the system.)rU�cpu_count_coresrMrMrMrNr~��r~cCs$t��\}}}}d}t�||||�S)z*Return various CPU stats as a named tuple.r)rU�	cpu_statsr�	scpustats)�ctx_switches�
interrupts�syscalls�_traps�soft_interruptsrMrMrNr��s
�r�Fc
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)	rU�disk_partitions�
disk_usager9�OSErrorrr�	sdiskpart�append)
�all�retlist�
partitions�	partition�device�
mountpoint�fstype�opts�err�ntuplerMrMrNr��s&
���r����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�)r�	conn_tmaprU�net_connections�setrr	�addr�TCP_STATUSESrr�sconn�pconn�add�list)�kind�_pid�families�types�rawlistrx�item�fd�fam�type_�laddr�raddrr*�pid�ntrMrMrNr�s,


r�cCsTt��}|��D]\}}|\}}}}ttd�rt�|�}t�||||d�||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplexr�)rU�net_if_stats�items�hasattrrr��	snicstats)rx�namer��isup�duplex�speed�mturMrMrNr�"s

r�cCr})z:The system boot time expressed in seconds since the epoch.)rU�	boot_timerMrMrMrNr�2rr�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)rU�usersr�suserr�)r�r�r�r�r1�tty�hostname�tstamp�user_processr�r�rMrMrNr�7sr�cCs t��t�}dd�t�|�D�S)z7Returns a list of PIDs currently running on the system.cSsg|]
}|��rt|��qSrM)�isdigitrcrprMrMrNrsRszpids.<locals>.<listcomp>)r�encoder
rI�listdir)r@rMrMrN�pidsOsr�cCs
t�|�S)z&Check for the existence of a unix pid.)r�
pid_exists)r�rMrMrNr�Us
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�rr
�PermissionErrorrr�r�)�self�args�kwargsr�r$r�r���funrMrN�wrapper_s&��
��z wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�rMr�rN�wrap_exceptionsZsr�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�rMrMrN�__init__|szProcess.__init__cCst�|j�d|j���dS)z+Raise NSP if the process disappeared on us.�/N)rI�statr�r��r�rMrMrN�
_assert_alive�szProcess._assert_alivecC�(|j�|�|j�|�|j�|�dSr�)�_proc_name_and_args�cache_activate�_proc_basic_info�
_proc_credr�rMrMrN�
oneshot_enter��zProcess.oneshot_entercCr�r�)r��cache_deactivater�r�r�rMrMrN�oneshot_exit�r�zProcess.oneshot_exitcC�t�|j|j�Sr�)rU�proc_name_and_argsr�r�r�rMrMrNr���zProcess._proc_name_and_argscCsX|jdkrtj�|j�d|j�d��st|j��t�|j|j�}t|�tt	�ks*J�|S)Nrr�z/psinfo)
r�rIr@�existsr�rrU�proc_basic_info�len�
proc_info_map)r�rxrMrMrNr��s�
zProcess._proc_basic_infocCr�r�)rU�	proc_credr�r�r�rMrMrNr��r�zProcess._proc_credcCs|��dSr�)r�r�rMrMrNr��szProcess.namecCs<zt�|j�d|j�d��WStyYnw|��dS)Nr�z/path/a.outr�)rI�readlinkr�r�r��cmdliner�rMrMrN�exe�s�zProcess.execCs|��d�d�S)NrrD)r�rbr�rMrMrNr���zProcess.cmdlinecCr�r�)rU�proc_environr�r�r�rMrMrNrY��zProcess.environcC�|��tdS)Nr'�r�r�r�rMrMrNr'�r�zProcess.create_timecCr�)Nr)r�r�rMrMrNr)�r�zProcess.num_threadscCr�)Nr(r�r�rMrMrN�nice_get�szProcess.nice_getcCs&|jdvrt|j|j��t�|j|�S)N>rr)r�rr��
cext_posix�setpriority)r��valuerMrMrN�nice_set�s
zProcess.nice_setcCs|��td|_|jS)Nr$)r�r�r�r�rMrMrNr$�szProcess.ppidcCs^z|��\}}}}}}Wnty'|��td}|��td}d}Ynwt�|||�S)Nr,r-�r�rr�r�r�puids)r��real�	effective�savedrhrMrMrN�uids���zProcess.uidscCs^z|��\}}}}}}Wnty'|��td}|��td}d}Ynwt�|||�S)Nr.r/r�)r�rhr�r�rrMrMrN�gids�rzProcess.gidsc
Cs\z
t�|j|j�}Wnty(}z|jtjkrtsd}n�WYd}~nd}~wwtj	|�S)N)�rrr)
rU�proc_cpu_timesr�r�r��errno�	EOVERFLOW�	IS_64_BITrr5)r��timesr�rMrMrNry�s���
zProcess.cpu_timescCr�r�)rU�proc_cpu_numr�r�r�rMrMrN�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�rU�PRNODEVrIr�r�r�r�)r��procfs_path�
hit_enoentr�rrrMrMrN�terminals
"��zProcess.terminalcCsL|j}z
t�|�d|j�d��WSty%t�|�d|j���YdSw)Nr�z	/path/cwdr�)r�rIr�r�r�r�)r�rrMrMrN�cwds�zProcess.cwdcCs2|��}|tdd}|tdd}t||�S)Nr%ir&)r�r�r>)r�rxr%r&rMrMrN�memory_info$s
zProcess.memory_infocCs|��td}t�|d�S)Nr*�?)r�r��
PROC_STATUSES�get)r��coderMrMrNr*-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�rIr�r�rcrU�query_process_threadr�rrr�ENOENTr�pthreadr�r�)
r�rrx�tidsr�tid�utime�stimer�r�rMrMrN�threads3s0���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�rIr�r@�join�islinkr�r�rr�r�	popenfilercr�)r�r�rr�pathdirr�r@�filerMrMrN�
open_filesUs&��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.�pfiles)rR�stderrcss�|]
}|�tjj�VqdSr�)r\r]rRr^rprMrMrN�	<genexpr>ss�
�z,Process._get_unix_sockets.<locals>.<genexpr>rzpermission deniedzno such processz command error
rTrNzsockname: AF_UNIXrD�SOCK_STREAM�
SOCK_DGRAMr�r�)�strrWrXrZr[r_�lowerrr�r�rr`rb�	enumerate�lstrip�
startswithra�socketr*r+�AF_UNIXr�	CONN_NONE)r�r��cmdrgrRr(rirj�irkr@�typerMrMrN�_get_unix_socketsjs<�
�
�

��zProcess._get_unix_sockets�inetcCsRt||jd�}|st�|j�d|j���|dvr'|�dd�|�|j�D��|S)N)r�r�>r��unixcSsg|]}tj|��qSrM)rr�)rq�connrMrMrNrs�s��z+Process.net_connections.<locals>.<listcomp>)r�r�rIr�r��extendr7)r�r�rxrMrMrNr��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�hexra)�start�endrMrMrN�toaddr�s(�z#Process.memory_maps.<locals>.toaddrF�[r�r
T)r�rU�proc_memory_mapsr�r�rrrr0rIr�rr�r�)r�rBrr�r�r�rr�r��addrsize�permr�r%�anonrBrMrMrN�memory_maps�s<��

 ���zProcess.memory_mapscCstt�|j�d|j�d���S)Nr�r )r�rIr�r�r�r�rMrMrN�num_fds�szProcess.num_fdscCstjt�|j|j��Sr�)r�pctxswrU�proc_num_ctx_switchesr�r�r�rMrMrN�num_ctx_switches�s�zProcess.num_ctx_switchesNcCst�|j||j�Sr�)r�wait_pidr�r�)r��timeoutrMrMrN�wait�r�zProcess.wait)r8r�)+�__name__�
__module__�__qualname__�__doc__�	__slots__r�r�r�r�r�rr�r�r�r�r�r�rYr'r)r�r�r$rrryrrrr�memory_full_infor*rr&r7r�r�nt_mmap_grouped�nt_mmap_extrHrIrLrOrMrMrMrNr�ws�	







	

	
	






!
"


.

r�)F)r�)mrSrr�rIr1rWr]�collectionsrrr�rrrr�rrUr	r
rrr
rrrrrrr�__extra__all__�getpagesizerK�AF_LINK�maxsizerrr�SSLEEP�STATUS_SLEEPING�SRUN�STATUS_RUNNING�SZOMB�
STATUS_ZOMBIE�SSTOP�STATUS_STOPPED�SIDL�STATUS_IDLE�SONPROC�SWAIT�STATUS_WAITINGr�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_NONEr3�	TCPS_IDLE�
TCPS_BOUNDr��dictr�r0r5r8r>�pfullmemr?r!�_fieldsrCrOrnryrur|r~r��disk_io_countersr�r��net_io_counters�net_if_addrsr�r�r�r�r�r�r�r�rMrMrMrN�<module>s�
������
.