gpt4 book ai didi

java - 找到一个正在杀死我的进程的神秘进程

转载 作者:IT王子 更新时间:2023-10-29 00:42:11 26 4
gpt4 key购买 nike

假设我有一些进程——在本例中是一个由 ant 启动的 Java 进程。我发现随机有东西在发送这个 Java 进程 SIGTERM。可能是进程向自身发送该信号,也可能是其他原因。

我已经消除了大部分明显的原因(oom killer、父进程杀死子进程等),但我真的很想找出正在向这个进程发送 SIGTERM。有什么方法可以在操作系统或进程级别跟踪此行为?

最佳答案

您可以通过 JNI 在您的 java 程序中安装信号处理程序,请参阅 interface java with C timer library using JNI举个例子(捕获 SIGALRM,但应该很容易适应)。尽管在 Java 中处理信号时要注意一些问题(请参阅 http://nerds-central.blogspot.de/2011/04/java-jvm-jni-and-signal-handling.html):基本上您需要注意将信号处理程序链接到现有信号处理程序而不是替换它们。

如果您怀疑人为交互,另一种方法可能是修改发生此谜团的机器上的 kill 可执行文件。将其替换为一个 shell 脚本,该脚本记录登录者、其 PID 和父 PID,然后调用原始 kill。

我将一些可以在我的电脑上运行的东西放在一起:https://gist.github.com/4183018

关于java - 找到一个正在杀死我的进程的神秘进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11321849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com