无论如何,有没有办法防止进程被杀死?我知道,nice
但我不确定是否给诸如长时间运行的内存密集型rake
任务之类的任务提供最高优先级会阻止它被杀死:
nice -n -20 rake xyz
Run Code Online (Sandbox Code Playgroud)
编辑:即使服务器资源不足,原始海报也很可能希望它具有高优先级,以至于其他进程首先被杀死。
为什么会被杀掉呢?
因为某些东西不会自动被杀死。一旦你回答了这个问题,并解释了为什么会选择销毁某些东西,你也许就能想出一个解决方案。
鉴于您正在谈论 Rails 的rake
命令,我猜测这是一个在服务器上运行的进程。您担心它被杀死表明它因使用太多资源而被服务器主机杀死。在这种情况下,没有(也不应该有)方法来阻止您的进程被杀死。
如果您有一项资源昂贵的任务,请购买更多资源。使用您自己的服务器时间。或者与主机达成协议,允许您用他们的钱运行它。