unix - 在 Solaris 上如何找到谁或哪个进程向我的进程发送了信号

我在 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/

相关文章:

php - 这个 PHP 有什么问题?什么都没有出现

ruby-on-rails - rails : how to check if find_or_in

perl - 在 Perl 中复制二维数组

powershell - 使用 Powershell 为 Word 文档添加页眉和页脚

wpf - 从模板绑定(bind)到 View 模型的属性

php - 从 php 中的文件夹中读取文件并列出 json 文件中的条目

ms-access - 左外加入 Access ?

sql-server - 从数据库中获取高于平均水平的学生

php - 是否可以使用 PHP 添加事件监听器?

r - 在每行中查找最小正值(不包括 0)