如何確定誰啟動了一個行程?

如何確定誰啟動了一個行程?

每隔幾分鐘我就會發現這個進程正在運行

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

它使用 100% cpu。我殺了它,過了一段時間我又看到它了。
我如何確定誰在運行此進程?

答案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

相關內容