当我在集群上启动计算时,通常我有一个单独的程序在最后进行后处理:

sbatch simulation
sbatch --dependency=afterok:JOBIDHERE postprocessing

我想避免输入错误,并自动插入良好的工作ID。任何想法?谢谢

最佳答案

您可以执行以下操作:

RES=$(sbatch simulation) && sbatch --dependency=afterok:${RES##* } postprocessing
RES变量将保存sbatch命令的结果,类似于Submitted batch job 102045。构造${RES##* }隔离最后一个单词(请参阅更多信息here),在当前情况下为作业ID。 &&部分确保您在第一次提交失败的情况下不要尝试提交第二个作业。

关于linux - 使用Slurm工作ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19960332/

10-10 20:56