如何在Solaris上查找向我的进程发送信号的人员或进程

ere*_*zul 1 unix signals solaris

我在Sun Java 1.5上运行JBoss.它不时地意外关闭(以有序的方式).我怀疑其他一些进程正在发送kill或CTRL + C信号.

在Unix/Solaris上有没有办法跟踪谁发送了信号?

jll*_*gre 5

在Solaris上,您可以使用简单的dtrace脚本来查找谁正在终止您的进程(假设其名称为java,否则进行调整):

dtrace -qn '
proc:::signal-send
/ args[1]->pr_fname == "java" /
{
        printf("Process %d (%s by UID %d) sending signal %d to java (pid=%d)\n",
        pid,execname,uid,arg1,args[1]->pr_pid);
}'
Run Code Online (Sandbox Code Playgroud)