进程被 SIGKILL 杀死

进程被 SIGKILL 杀死

我正在服务器上运行算法,该算法需要很长时间才能完成。但由于某种原因,该进程被自动终止。我不确定其确切原因,在谷歌搜索后,我发现了一些脚本可以为我提供更多信息。

./temp.sh: line 2: 30539 Killed                  ./process file1
Got SIGNAL 9
process was killed with SIGKILL
dmesg: read kernel buffer failed: Operation not permitted

我尝试用谷歌搜索这个,但我不确定日志消息的含义或如何纠正它。谁能告诉我为什么该进程被杀死以及如何阻止它?

我使用 4.9.0-6-amd64 内核和 Debian 9

答案1

由于您没有提供足够的信息,因此很难准确地说。您可以尝试的一些事情是:

1)dmesg应该告诉你如果内存溢出杀手被激活是因为您的整个系统内存已耗尽。

2)cat /var/log/messages可以帮助识别与流程相关的问题,您可以尝试仅从那里过滤错误

如果不是这两个中的任何一个,那么它可能是您的应用程序中的问题,例如调用kill.另外值得一提的是(信号手册页):

信号 SIGKILL 和 SIGSTOP 无法被捕获、阻止或忽略。

因此,由于程序的某些违规行为,它很可能来自内核。

相关内容