%PDF- %PDF-
| Direktori : /usr/lib/python3.9/site-packages/tracer/resources/__pycache__/ |
| Current File : //usr/lib/python3.9/site-packages/tracer/resources/__pycache__/processes.cpython-39.pyc |
a
"eq# � @ s� d dl mZ d dlmZ ddlZddlZddlZddlZddlmZm Z ddl
mZ ddlm
Z
G dd � d e�ZG d
d� de�ZG dd
� d
e�ZG dd� de
ee��ZG dd� de�ZdS )� )�ProcessesCollection)�FilenameCleaner� N)�PIPE�Popen)�Timer)�with_metaclassc @ s$ e Zd Zedd� �Zedd� �ZdS )� Processesc C s* z
t �� W S ty$ t �� Y S 0 d S �N)�psutil�pids�AttributeErrorZget_pid_list� r r �>/usr/lib/python3.9/site-packages/tracer/resources/processes.pyr ! s
zProcesses.pidsc C sR t � } t�� D ]>}z| �t|�� W q tjy8 Y q tjyJ Y q0 q| S r
)r r r �append�Processr Z
NoSuchProcess�AccessDenied)Z processes�pidr r r �all( s z
Processes.allN)�__name__�
__module__�__qualname__�staticmethodr r r r r r r s
r c @ s� e Zd ZdZd!dd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
d"dd�Zdd� Zdd� Zd#dd �ZdS )$�ProcessWrappera�
Wrapper for ``psutil.Process class``
Library ``psutil`` is not backward compatible from version 2.x.x to 1.x.x.
Purpose of this class is cover incompatibility in ``psutil.Process`` class and
provide interface of new version. It allows using new interface even with
old version of ``psutil``.
Note that, for performance reasons, process information is cached at
object creation. To force a refresh, invoke the ``rebuild_cache()``
method.
Nc C s t �|�| _| �� d S r
)r r �_process�
rebuild_cache��selfr r r r �__init__A s zProcessWrapper.__init__c C s
t | j�S r
)�boolr �r r r r �__nonzero__E s zProcessWrapper.__nonzero__c C s | j jg d�d�| _d S )N)�name�exe�cmdline�ppid�username�create_time)�attrs)r Zas_dict� _procdictr r r r r H s zProcessWrapper.rebuild_cachec C s| z\| � d�dkrZ| � d�| � d�vrZt| � d��dkrZ| � d�d �d�d }d�|�W S W n tjyp Y n0 | � d�S ) Nr"