1. 程式人生 > 其它 >linux 上程序被隨機kill掉,如何監測和查詢;誰殺了我的程序;Who sends a SIGKILL to my process mysteriously on ubuntu server

linux 上程序被隨機kill掉,如何監測和查詢;誰殺了我的程序;Who sends a SIGKILL to my process mysteriously on ubuntu server

今天跑實驗,發現程序被隨機kill。諮詢了伺服器上的其他同學,他們說之前也發生過,一直存在。看來可能有可能不是我自己程式的原因,只能自己動手解決了。

Linux 審計系統:audit

Who sends a SIGKILL to my process mysteriously on ubuntu server 中,提到一個簡單的方法,使用audit。

安裝很簡單:sudo apt install auditd

啟動服務並檢視狀態: systemctl enable auditd.service; systemctl restart auditd.service

然後通過auditctrl新增規則: auditctl -a exit,always -F arch=b64 -S kill -F a1=9

測試:

啟動然後kill掉Python程式; 檢視日誌,即可發現kill發起的程式和使用者;

sudo ausearch -sc kill
time->Thu Feb 24 04:00:08 2022
type=PROCTITLE msg=audit(1645675208.403:201): proctitle="htop"
type=OBJ_PID msg=audit(1645675208.403:201): opid=40099 oauid=1016 ouid=1016 oses=12951 obj==unconfined ocomm="nvtop"
type=SYSCALL msg=audit(1645675208.403
:201): arch=c000003e syscall=62 success=yes exit=0 a0=9ca3 a1=9 a2=c1 a3=8 items=0 ppid=45939 pid=40129 auid=1016 uid=1016 gid=1016 euid=1016 suid=1016 fsuid=1016 egid=1016 sgid=1016 fsgid=1016 tty=pts4 ses=18035 comm="htop" exe="/usr/bin/htop" subj==unconfined key=(null)

下面開始守株待兔了, 再跑一下程式,找到被kill的原因;

參考連結:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-system_auditing

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/auditing-the-system_security-hardening

https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-audit-comp.html

https://stackoverflow.com/questions/26285133/who-sends-a-sigkill-to-my-process-mysteriously-on-ubuntu-server

https://www.cnblogs.com/xybaby/p/8098229.html

保持更新;cnblogs.com/xuyaowen;

https://github.com/yaowenxu