我有两个工作,jobA.sh 和 jobB.sh。我希望 jobB.sh 在 jobA.sh 成功完成后启动。为此,我必须获取jobA.sh 的jobid 编号。但是我的代码的以下部分是有问题的。我的代码给出了以下错误。该错误意味着 jobB.sh 没有启动。代码无法获取jobA.sh 的jobid 号。如何获取jobA.sh的jobid号?
错误:
提交批处理作业 298784 sbatch:错误:批处理作业提交失败:作业依赖问题
该代码正确提交了 jobA.sh,但它为 jobB.sh 提供了上述错误。
my $jobidA=0;
my $jobs = "sbatch jobA.sh";
system $jobs || die "Error:\n$jobs\nerror";
# I think the following line captures jobid?
($jobs =~ /^Submitted batch job (\d+)/);
# And the following line stores jobid?
my $jobidA = $1;
my $jobs2 = "$path/jobB.sh";
my $jobs2 = "sbatch --dependency=afterok:$jobidA $jobB.sh";
system $jobs2 || die "Error:\n$jobs2\nerror";