관리-도구
편집 파일: 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"