File: //opt/saltstack/salt/lib/python3.10/site-packages/psutil/__pycache__/_psbsd.cpython-310.pyc
o
;jOr � @ st d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm Z ddl
mZ ddl
mZ
dd l
mZ dd
l
mZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ g Zer�ejejej ej!ej"ej#ej$ej%ej&ej'ej(ej)ej*ej+iZ,n=er�ejejej"ej#ej$ej%ej-ej'ej&ej'ej ej.ej/ej!iZ,ner�ejejej"ej#ej$ej%ej&ej'ej ej.ej/ej!iZ,ej0ej1ej2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBejCejDejEejFejGiZHe�I� ZJejKZKeLed�ZMeNdzi dd�dd�dd�dd�dd�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��ZOdHdI� ZPdJdK� ZQeLedL��r�ejRZRejSZSdMdN� ZTdOdP� ZUdQdR� ZVe�s�e�r�dSdT� ZWndUdT� ZWdVdW� ZXe�r�dXdY� ZYne�r�dZdY� ZYd{d\d]�ZZej[Z[ej\Z\ej]Z]ej^Z^d^d_� Z_d`da� Z`e�r�dbdc� Zaddde� Zbdfdg� Zce�rzec� ZdW n ee�y Zf zedhef��� dZdW Y dZf[fndZf[fww didj� Zgdkdl� Zhedmdn� �Zidodp� Zje�rdqdr� Zkne�r#dsdr� ZknejkZkdtdu� Zlejmdvdw� �ZnG dxdy� dy�ZodS )|z5FreeBSD, OpenBSD and NetBSD platforms implementation.� N)�defaultdict)�
namedtuple)�ElementTree� )�_common)�_ntuples)�_psposix)�_psutil_bsd)�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� c
C s� t �� } trP| \}}}}}}tdd��,}|D ]!}|�d�r(t|�� d �d } q|�d�r7t|�� d �d }
qW d � n1 sBw Y || }|| }n| \}}}}}}} }
|| | }|| | }t|| |dd�}
t� |||
||||| ||
|�S )Nz
/proc/meminfo�rbs Buffers:r i s
MemShared:�Zround_)
�cextZvirtual_memr �open�
startswith�int�splitr �ntpZsvmem)Zmem�total�freeZactiveZinactiveZwired�cached�f�line�buffersZshared�usedZavail�percent� rW �A/opt/saltstack/salt/lib/python3.10/site-packages/psutil/_psbsd.py�virtual_memory� s>