PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/libexec/kcare/python/kcarectl/__pycache__/
Server: Linux red.truehostdns.com 4.18.0-553.150.1.el8_10.x86_64 #1 SMP Fri Jul 31 15:23:31 EDT 2026 x86_64
IP: 51.161.15.103
Choose File :

Url:
Dir : //usr/libexec/kcare/python/kcarectl/__pycache__/process_utils.cpython-36.pyc

3

0�j4�@spddlZddlZddlZddlZddlmZmZejddd��Zddd	�Z	dd
d�Z
dd
�Zdd�Zdd�Z
dS)�N�)�	log_utils�utilsTcCsR|pd}x*|D]"}tjj||�}tjj|�r|SqW|rJtdj||���ndSdS)N�	/usr/sbin�/sbin�/usr/bin�/binz{0} could not be found at {1})rrrr)�os�path�join�isfile�	Exception�format)�name�pathsZ	raise_exc�it�fname�r�3/usr/libexec/kcare/python/kcarectl/process_utils.py�find_cmds
rFcCs�|r
tjnd}|rtjnd}tj||||d�}|j�\}}	|j}
|dk	rRtj|�}|dk	rdtj|	�}	tjt	j
d�j|j||	dj|�d��|r�|
r�tj
|
|�}||_|	|_|�|
||	fS)N)�stdout�stderr�shellz�
       Call result for `{cmd}`:
       exit code {exit_code}
       === STDOUT ===
       {stdout}
       === STDERR ===
       {stderr}
       === END ===
    � )Z	exit_coderr�cmd)�
subprocess�PIPE�Popen�communicate�
returncoder�nstrr�logdebug�textwrap�dedentrr�CalledProcessError�outputr)�command�catch_stdout�catch_stderrr�checkrr�pZstdout_capturedZstderr_captured�code�excrrr�run_commands&

	r-cCst|d|d�\}}}|S)NT)r'r))r-)�argsr)�_rrrr�check_outputDsr0c	Cs�y�dddddt|�g}t|dd�\}}}|rFtjdj|d	�d
d�dS|j�}dddddt|�g}t|dd�\}}}|r�tjd
j|d	�d
d�dS|j�}t|�|fStk
r�}ztjdj||d�d
d�dSd}~XnXdS)N�psz--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})r3�err)NN)NN)NN)�strr-r�loginfor�strip�intr
)	r3Zcmd_ppidr+rr/r2Zcmd_commr�errr� _get_parent_pid_and_process_nameIs$r;cstj���fdd��}|S)zMDecorator that logs parent process chain before calling the wrapped function.cst��||�S)N)�_log_all_parent_processes)r.�kwargs)�funcrr�wrapperfsz)log_all_parent_processes.<locals>.wrapper)�	functools�wraps)r>r?r)r>r�log_all_parent_processescsrBcCs�g}tj�}x<|dkrH|dkrHt|�\}}|j||f�|dkrBP|}qWtjddd�xJtt|��D]:\}\}}d|d}tjdj||p�d	|p�d	d
�dd�qfWdS)NrrzAgent parent processes chain:F)r4�-z->z{prefix} "{name}" (pid: {pid})�unknown)�prefixrr3)	r	�getpidr;�appendrr7�	enumerate�reversedr)Z
process_chainZcurrent_pidr2Zprocess_name�levelr3rrErrrr<nsr<)NT)FFFF)F)r@r	rr"�rr�cachedrr-r0r;rBr<rrrr�<module>s
%