是什么杀死了我的进程,为什么?

新手上路,请多包涵

我的应用程序在 Linux 上作为后台进程运行。它当前在终端窗口的命令行中启动。

最近一个用户正在执行该应用程序一段时间,它神秘地死了。文本:

被杀

在终端上。这发生了两次。我问是否有人在不同的终端使用 kill 命令杀死进程?不。

Linux 在什么情况下会决定终止我的进程?我相信 shell 显示“killed”是因为进程在收到 kill(9) 信号后死亡。如果 Linux 发送了终止信号,系统日志中是否应该有一条消息解释它为什么被终止?

原文由 sbq 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 545
2 个回答

如果用户或系统管理员没有杀死内核可能拥有的程序。内核只会在资源极度匮乏(想想 mem+swap 耗尽)等特殊情况下杀死进程。

原文由 dwc 发布,翻译遵循 CC BY-SA 2.5 许可协议

尝试:

 dmesg -T| grep -E -i -B100 'killed process'

其中 -B100 表示杀死发生之前的行数。

在 Mac OS 上省略 -T

原文由 Ravindranath Akila 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题