这可能是集群特定的问题,只能由管理员解决,但是当我有一个低优先级的作业并且出现一个高优先级的作业时,该进程被终止。
当高优先级作业完成时,低优先级作业将重新启动。用户端有没有办法让它在最初通过 SIGSTOP 启动的机器上挂起而不杀死进程?不幸的是,检查点在这里不是一个选项,所以我希望能够在不丢弃内存的情况下完成这项工作。
我们确实有这台机器的 ssh,所以如果一切都失败了,我很想做一个非常草率的脚本黑客来获得所需的行为:
1. start the process locally
2. send a SIGSTOP
3. make the job script send SIGCONT and just spin watching the process
4. when the job gets suspended, send a SIGSTOP again
5. when the job gets resumed, it should just send a SIGCONT
但我更愿意在 SGE 内做所有事情以避免任何令人讨厌的意外