下面这个DTrace
脚本可以记录哪些程序kill
掉了其它进程:
#!/usr/sbin/dtrace -qs
proc:::signal-send
/ (args[2] == SIGKILL) /
{
printf("[%s - %d - %d] sent SIGKILL to pid %d\n",
execname, pid, tid, args[1]->pr_pid);
}
你也可以把SIGKILL
换成其它感兴趣的信号。如果在FreeBSD
上运行,需要把args[1]->pr_pid
换成args[1]->p_pid
。运行结果如下:
# ./sigkill.d
[bash - 24693 - 100121] sent SIGKILL to pid 24839
[bash - 24693 - 100121] sent SIGKILL to pid 24841