誰がプロセスを開始したかを判断するにはどうすればいいですか?

誰がプロセスを開始したかを判断するにはどうすればいいですか?

数分ごとにこのプロセスが実行されているのがわかりました

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

CPU を 100% 使用しています。これを強制終了すると、しばらくすると再び表示されます。
このプロセスを実行しているのが誰なのかを判別するにはどうすればよいでしょうか?

答え1

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

関連情報