Linux 如何使sbatch作业在前一个作业完成后运行?
我被提供了两个sbatch脚本来提交和运行。第二个的输入基于第一个的输出。我需要这样做的任务只是告诉我们每隔几个小时左右检查第一个任务,然后在完成后提交第二个任务,但是有没有办法使其自动化,以便在第一个任务完成后立即运行第二个任务?我已经提交了第一个,它目前正在队列中。sbatch命令有一个Linux 如何使sbatch作业在前一个作业完成后运行?,linux,unix,slurm,scientific-computing,sbatch,Linux,Unix,Slurm,Scientific Computing,Sbatch,我被提供了两个sbatch脚本来提交和运行。第二个的输入基于第一个的输出。我需要这样做的任务只是告诉我们每隔几个小时左右检查第一个任务,然后在完成后提交第二个任务,但是有没有办法使其自动化,以便在第一个任务完成后立即运行第二个任务?我已经提交了第一个,它目前正在队列中。sbatch命令有一个--dependency选项: -d、 --dependency=延迟此作业的开始,直到满足指定的依赖关系并完成为止 提交第一个带有 JOBID1=$(sbatch --parsable <other_
--dependency
选项:
-d、 --dependency=延迟此作业的开始,直到满足指定的依赖关系并完成为止
提交第一个带有
JOBID1=$(sbatch --parsable <other_options> <submission_script>)
这将确保只有在第一个on成功完成后,并且只有在第一个on成功完成时,才能启动第二个on。检查
sbatch
文档中的依赖项。
sbatch --dependency=afterok:$JOBID1