当我在集群上启动计算时,我通常有一个单独的程序在最后进行后处理:
sbatch simulation
sbatch --dependency=afterok:JOBIDHERE postprocessing
我想避免输入错误并自动插入好工作 ID。任何想法?谢谢
当我在集群上启动计算时,我通常有一个单独的程序在最后进行后处理:
sbatch simulation
sbatch --dependency=afterok:JOBIDHERE postprocessing
我想避免输入错误并自动插入好工作 ID。任何想法?谢谢
你可以这样做:
RES=$(sbatch simulation) && sbatch --dependency=afterok:${RES##* } postprocessing
该RES
变量将保存sbatch
命令的结果,例如Submitted batch job 102045
. 该构造隔离了最后一个单词(在此处${RES##* }
查看更多信息),在当前情况下为作业 ID。该部分确保您在第一次提交失败的情况下不会尝试提交第二个作业。&&