我有一个看起来像这样的批处理工作
sbatch --wrap“ perl test.pl file1 file2”
sbatch --wrap“ perl test.pl file3 file4”
sbatch --wrap“ perl test.pl file5 file6”
sbatch --wrap“ perl test.pl file7 file8”
&列表一直持续到
sbatch --wrap“ perl test.pl file49 file50”
如何依次运行各个作业? 谢谢
答案 0 :(得分:0)
您必须使一个脚本依赖于前一个脚本的完成:
JOBID=$(sbatch --wrap "perl test.pl file1 file2" | awk '{print $4}')
for N in {3..49..2}
do
JOBID=$(sbatch -d afterok:$JOBID --wrap "perl test.pl file$N file$(($N+1))" | awk '{print $4}')
done
顺便说一句,在注释中建议的singleton
方法也是一种很好的方法,它使您摆脱了JobID管理的麻烦。