我需要確定一個正在定期寫入日誌文件的守護進程。問題是,我不知道哪個流程正在完成這項工作,而且我需要在明天之前向客戶展示一些進展。任何人都有任何線索?如何識別哪個守護進程正在寫入文件
我已經在PPID的幫助下整理了系統中運行的守護進程。任何幫助,將不勝感激。
此外,我認爲一個守護進程可能(很少)沒有PPID爲1.我們如何才能找到它?
我需要確定一個正在定期寫入日誌文件的守護進程。問題是,我不知道哪個流程正在完成這項工作,而且我需要在明天之前向客戶展示一些進展。任何人都有任何線索?如何識別哪個守護進程正在寫入文件
我已經在PPID的幫助下整理了系統中運行的守護進程。任何幫助,將不勝感激。
此外,我認爲一個守護進程可能(很少)沒有PPID爲1.我們如何才能找到它?
lsof
給出了一個打開文件的列表與進程。 所以lsof | grep <filename>
應該可以幫到你。
您可以使用AUDITCTL。
# sudo apt-get install auditd
# sudo /sbin/auditctl -w /path/to/file -p war -k hosts-file
-w watch /etc/hosts
-p warx watch for write, attribute change, execute or read events
-k hosts-file is a search key.
# sudo /sbin/ausearch -f /path/to/file | more
給出輸出諸如
類型=未知[1327]味精=審計(1459766547.822:130):proctitle = 2F7573722F7362696E2F61706163686532002D6B007374617274 類型= PATH味精=審計(1459766547.822:130):項= 0名=「/ path/to/file」inode = 141561 dev = 08:00 mode = 0100444 ouid = 33 ogid = 33 rdev = 00:00 nametype = NORMAL type = CWD msg = audit(1459766547.822:130):cwd =「 /「 type = SYSCALL msg = audit(1459766547.822:130):arch = c000003e syscall = 2 success = yes exit = 41 a0 = 7f3c23034cd0 a1 = 80000 a2 = 1b6 a3 = 8 items = 1 ppid = 24452 pid = 6797 auid = 42949672 95 uid = 33 gid = 33 euid = 33 suid = 33 fsuid = 33 eg id = 33 sgid = 33 fsgid = 33 tty =(none)ses = 4294967295 comm =「apache2」exe =「/ usr/sbin/apache2」key =「hosts-file」
'sudo/sbin/auditctl -D'可以關閉。 –
顯然lsof不可用系統我的客戶已安裝。 Solaris 8. –