Как определить, кто начал процесс?

Как определить, кто начал процесс?

каждые несколько минут я обнаруживал, что этот процесс запущен

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

Он использует 100% процессора. Я его убиваю, а через некоторое время снова вижу.
Как определить, кто запускает этот процесс?

решение1

Одним из способов является замена процесса скриптом-«оберткой».

 # 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

Таким образом, каждый вызов clamscan будет регистрировать некоторую информацию. Команды просто иллюстрируют, что вы можете изменить ее по своему усмотрению. Конечно, вы не должны позволять ей работать слишком долго, если вы не хотите иметь полный каталог /tmp.

Чтобы прервать операцию, просто сделайте:

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

Связанный контент