我在 Sun Java 1.5 上运行 JBoss。 有时,它会意外关闭(以有序的方式)。 我怀疑其他进程正在向它发送 kill 或 CTRL+C 信号。
在 Unix/Solaris 上有没有办法追踪是谁发送了信号?
最佳答案
在 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);
}'
https://stackoverflow.com/questions/10462664/