¿Cómo determinar quién inició un proceso?

¿Cómo determinar quién inició un proceso?

cada pocos minutos encontré este proceso ejecutándose

 root      949062  100  0.0  37204  1488 ?        R<   05:14   0:51 /usr/local/cpanel/3rdparty/bin/clamdscan --quiet --no-summary /etc/passwd

Está usando 100% CPU. Lo mato y después de un tiempo lo vuelvo a ver.
¿Cómo puedo determinar quién está ejecutando este proceso?

Respuesta1

Una forma sería reemplazar el proceso por un script "contenedor".

 # cd /usr/local/cpanel/3rdparty/bin/
 # cp -p clamdscan clamdscan.orig 
 # cat >clamdscan <<eof
 #!/bin/bash 
 echo ==================== >>/tmp/clamscan.log
 date  >>/tmp/clamscan.log
 id    >>/tmp/clamscan.log
 ps -fp $PPID   >>/tmp/clamscan.log
 tty   >>/tmp/clamscan.log
 pstree -Ap >> /tmp/clamscan.log 
 exec $0.orig $*
 eof

De esa manera, cada llamada de clamscan registrará cierta información. Los comandos son sólo para ilustrar que puede cambiarlos según le convenga. Por supuesto, no debes dejar que se ejecute por mucho tiempo si no quieres tener un directorio /tmp completo.

Para cancelar simplemente haga:

 # cd /usr/local/cpanel/3rdparty/bin/
 # mv clamdscan.orig clamdscan

información relacionada