我的应用程序在Linux上作为后台进程运行。它目前是在终端窗口中的命令行中启动。
最近,一个用户正在执行该应用程序,并且它神秘地死亡。终端上显示出如下文本:
已杀死
这种情况发生了两次。我问过一个不同的终端是否使用kill命令来终止该进程?没有。
在什么条件下,Linux会决定杀死我的进程?我相信shell显示"已杀死",因为进程在收到kill(9)信号后死亡。如果Linux发送kill信号,那么系统日志中应该有一条消息,解释为什么要杀死它吗?
echo "2" > /proc/sys/vm/overcommit_memory
。 - R.. GitHub STOP HELPING ICEsudo echo "2" > /proc/sys/vm/overcommit_memory
/proc/sys/vm/overcommit_memory:权限被拒绝 - Brent Faustecho 2 | sudo tee /proc/sys/vm/overcommit_memory
。 - Hypershadsy最近我遇到了这个问题。最终,我发现我的进程在自动调用Opensuse zypper更新后被杀死了。禁用zypper更新解决了我的问题。
/var/log/messages
)中记录此事实;(3) 该进程所在的shell,当从waitpid(2)
函数的退出状态指示子进程死亡信号为9时,打印出“Killed”通知的进程。 - arielf/var/log/syslog
目录下。 - Dinei