HEX
Server: Apache
System: Linux br384.hostgator.com.br 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User: regi8665 (2159)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/libexec/kcare/python/kcarectl/process_utils.pyc
�
��ic@s�ddlZddlZddlZddlZddlmZmZerwddlm	Z	m
Z
mZmZm
Z
nejded��Zeeeed�Zed�Zd�Zd	�Zd
�ZdS(i����Ni(t	log_utilstutils(tAnytListtOptionaltTupletUnioncCsq|p	d}x9|D]1}tjj||�}tjj|�r|SqW|ritdj||���ndSdS(Ns	/usr/sbins/sbins/usr/bins/bins{0} could not be found at {1}(s	/usr/sbins/sbins/usr/bins/bin(tostpathtjointisfilet	ExceptiontformattNone(tnametpathst	raise_exctittfname((s3/usr/libexec/kcare/python/kcarectl/process_utils.pytfind_cmds
cCs(|rtjnd}|r$tjnd}tj|d|d|d|�}|j�\}}	|j}
|dk	r�tj|�}n|dk	r�tj|	�}	ntj	t
jd�jd|jd|d|	ddj
|���|r|
rtj|
|�}||_|	|_|�n|
||	fS(Ntstdouttstderrtshells�
       Call result for `{cmd}`:
       exit code {exit_code}
       === STDOUT ===
       {stdout}
       === STDERR ===
       {stderr}
       === END ===
    t	exit_codetcmdt (t
subprocesstPIPER
tPopentcommunicatet
returncodeRtnstrRtlogdebugttextwraptdedentRR	tCalledProcessErrortoutputR(tcommandtcatch_stdouttcatch_stderrRtcheckRRtptstdout_capturedtstderr_capturedtcodetexc((s3/usr/libexec/kcare/python/kcarectl/process_utils.pytrun_commands&!		(			cCs%t|dtd|�\}}}|S(NR&R((R.tTrue(targsR(t_R((s3/usr/libexec/kcare/python/kcarectl/process_utils.pytcheck_outputDs!c	Cs0y�dddddt|�g}t|dt�\}}}|retjdjd|�d	t�dS|j�}dddd
dt|�g}t|dt�\}}}|r�tjdjd|�d	t�dS|j�}t	|�|fSWn9t
k
r+}tjdjd|d
|�d	t�dSXdS(Ntpss--no-headerss-otppids-pR&s3Could not retrieve process parent PID for PID {pid}tpidt	print_msgtcomms-Could not retrieve process name for PID {pid}sJCould not retrieve process name and parent PID for PID {pid}, error: {err}terr(NN(NN(NN(tstrR.R/RtloginfoRtFalseR
tstriptintR(	R5tcmd_ppidR,RR1R4tcmd_commRte((s3/usr/libexec/kcare/python/kcarectl/process_utils.pyt _get_parent_pid_and_process_nameIs$cs"tj���fd��}|S(sMDecorator that logs parent process chain before calling the wrapped function.cst��||�S(N(t_log_all_parent_processes(R0tkwargs(tfunc(s3/usr/libexec/kcare/python/kcarectl/process_utils.pytwrapperfs(t	functoolstwraps(RDRE((RDs3/usr/libexec/kcare/python/kcarectl/process_utils.pytlog_all_parent_processescscCs�g}tj�}xW|dkrk|dkrkt|�\}}|j||f�|dkrbPn|}qWtjddt�xktt	|��D]W\}\}}d|d}tjdj
d|d	|p�d
d|p�d
�dt�q�WdS(NiisAgent parent processes chain:R6t-s->s{prefix} "{name}" (pid: {pid})tprefixRtunknownR5(RtgetpidRAtappendR
RR:R;t	enumeratetreversedR(t
process_chaintcurrent_pidR4tprocess_nametlevelR5RRJ((s3/usr/libexec/kcare/python/kcarectl/process_utils.pyRBns
%(RFRRR!tRRR;ttypingRRRRRtcachedR
R/RR.R2RARHRB(((s3/usr/libexec/kcare/python/kcarectl/process_utils.pyt<module>s+%