一尘不染

使用Slurm工作ID

linux

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

sbatch simulation
sbatch --dependency=afterok:JOBIDHERE postprocessing

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


阅读 760

收藏
2020-06-07

共1个答案

一尘不染

您可以执行以下操作:

RES=$(sbatch simulation) && sbatch --dependency=afterok:${RES##* } postprocessing

RES变量将保存sbatch命令的结果,例如Submitted batch job 102045。该构造${RES##* }隔离了最后一个单词(请参阅此处的更多信息),在当前情况下为作业ID。该&&部分可确保您不会在第一次提交失败的情况下不尝试提交第二份工作。

2020-06-07