Linux中,如何解决进程被Kill

如果你的进程被kill,并且最后一行日志是:

Killed

你需要先增加虚拟内存!
这不是本篇文章的重点,如果你增加了虚拟内存后仍然被kill,这就是本篇文章要说的。

内核有个机制叫oom,具体你可以参考搜索引擎,它是你的进程被kill的原因,但是你可以设置你的进程不被kill

echo -17 > /proc/$(pgrep name)/oom_adj

pgrep scan4all是通过程序名获取PID的命令(请注意,如果你的程序有多个进程,会返回多个,那样就不能嵌入到的那行命令中)

你需要在你的程序运行时获取程序所有进程的PID,并执行类似的命令

然后oom就不会kill掉你的程序了

亲测有效!

其他

如果不设置,貌似oom会kill掉短时间内占用大量内存的程序,无论虚拟内存是否充足,但这只是猜测

你可能感兴趣的:(linux,kill,进程)