我有一个脚本,它提交多个作业以在 SGE 队列上并行运行,还有另一个收集脚本,在该作业列表完成时执行。我使用 -hold_jid wc_job_list
在并行作业运行时保持收集脚本的执行。
我刚刚注意到有时一些并行作业会失败,但收集脚本仍然运行。该文档指出:
If any of the referenced jobs exits with exit code 100, the submitted job will remain ineligible for execution.
如何捕获并行失败作业的退出状态,以便在其中任何作业因任何原因失败时,收集脚本不会执行或给出错误消息?
最佳答案
如果是 BASH
,您可以解析程序的退出状态(可以引用为 $?
),如果不是 0
(这是正常终止的退出状态),在作业脚本末尾调用exit 100
。
这样做的问题是,您的作业将以状态 Eqw
保留在队列中,并且必须手动删除。
更新:对于您设置为 Eqw
的每项作业,您的管理员都会收到一封电子邮件...
关于sungridengine - SGEhold_jid 并捕获失败的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875136/