Wie kann ermittelt werden, wer einen Prozess gestartet hat?

Wie kann ermittelt werden, wer einen Prozess gestartet hat?

alle paar Minuten lief dieser Prozess

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

Es nutzt 100 % der CPU. Ich beende es und nach einiger Zeit sehe ich es wieder.
Wie kann ich feststellen, wer diesen Prozess ausführt?

Antwort1

Eine Möglichkeit wäre, den Prozess durch ein „Wrapper“-Skript zu ersetzen.

 # 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

Auf diese Weise werden bei jedem Aufruf von clamscan einige Informationen protokolliert. Die Befehle dienen nur zur Veranschaulichung, sodass Sie sie nach Belieben ändern können. Natürlich sollten Sie es nicht zu lange laufen lassen, wenn Sie kein volles /tmp-Verzeichnis haben möchten.

Zum Abbrechen gehen Sie einfach wie folgt vor:

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

verwandte Informationen