如何防止进程被杀死?

Sim*_*ton 5 process nice

无论如何,有没有办法防止进程被杀死?我知道,nice但我不确定是否给诸如长时间运行的内存密集型rake任务之类的任务提供最高优先级会阻止它被杀死:

nice -n -20 rake xyz
Run Code Online (Sandbox Code Playgroud)

编辑:即使服务器资源不足,原始海报也很可能希望它具有高优先级,以至于其他进程首先被杀死。

Oli*_*Oli 2

为什么被杀掉呢?

因为某些东西不会自动被杀死。一旦你回答了这个问题,并解释了为什么会选择销毁某些东西,你也许就能想出一个解决方案。

鉴于您正在谈论 Rails 的rake命令,我猜测这是一个在服务器上运行的进程。您担心它被杀死表明它因使用太多资源而被服务器主机杀死。在这种情况下,没有(也不应该有)方法来阻止您的进程被杀死。

如果您有一项资源昂贵的任务,请购买更多资源。使用您自己的服务器时间。或者与主机达成协议,允许您用他们的钱运行它。

  • 嗯...这个答案确实忽略了很多细微差别,尤其是 [OOM 杀手](https://lwn.net/Articles/317814/),它对进程起作用 - 引用 - _例如长时间运行的内存- 密集的“rake”任务_。-1。 (2认同)