D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
libexec
/
kcare
/
python
/
kcarectl
/
__pycache__
/
Filename :
process_utils.cpython-36.pyc
back
Copy
3 #w�g9 � @ sf d dl Z d dlZd dlZddlmZ ddlmZ ejddd��Zdd d �Zdd� Z d d� Z dd� ZdS )� N� )� log_utils)�utilsTc C sR |pd}x*|D ]"}t jj|| �}t jj|�r|S qW |rJtdj| |���nd S d S )N� /usr/sbin�/sbin�/usr/bin�/binz{0} could not be found at {1})r r r r )�os�path�join�isfile� Exception�format)�name�pathsZ raise_exc�it�fname� r �3/usr/libexec/kcare/python/kcarectl/process_utils.py�find_cmd s r Fc C s� |r t jnd }|rt jnd }t j| |||d�}|j� \}}|j} |d k rRtj|�}|d k rdtj|�}tjt j d�j|j||dj| �d�� | ||fS )N)�stdout�stderr�shellz� Call result for `{cmd}`: exit code {exit_code} === STDOUT === {stdout} === STDERR === {stderr} === END === � )Z exit_coder r �cmd) � subprocess�PIPE�Popen�communicate� returncoder �nstrr �logdebug�textwrap�dedentr r ) Zcommand�catch_stdout�catch_stderrr r r �pZstdout_capturedZstderr_captured�coder r r �run_command s r( c C s t | dd�\}}}|S )NT)r$ )r( )�args�_r r r r �check_output= s r+ c C s� y�dddddt | �g}t|dd�\}}}|rFtjdj| d �d d� dS |j� }dddddt | �g}t|dd�\}}}|r�tjd j| d �d d� dS |j� }t|�|fS tk r� } ztjdj| |d�d d� dS d }~X nX d S )NZpsz--no-headersz-o�ppidz-pT)r$ z3Could not retrieve process parent PID for PID {pid})�pidF)� print_msgZcommz-Could not retrieve process name for PID {pid}zJCould not retrieve process name and parent PID for PID {pid}, error: {err})r- �err)NN)NN)NN)�strr( r �loginfor �strip�intr ) r- Zcmd_ppidr'