![](/img/trans.png)
[英]Python: Run bash command with redirection in background and get the process id
[英]Get Job id and put them into a bash command
您好,对于一个项目,我需要仅在之前的所有运行完成后才执行 bash 文件,所以我使用:
sbatch -d afterok:$JobID1:$JobID2:$JobIDN final.sh
为了运行我做的 JobIDN
for job in Job*.sh ; do sbatch $job; done
然后它打印所有的jobIDs
我只是想知道是否有人有命令来获取这些 ID 并将它们直接放入命令中:
sbatch -d afterok:$JobID1:$JobID2:$JobIDN final.sh
例子
for job in Job*.sh ; do sbatch $job; done
1
2
3
sbatch -d afterok:$1:$2:$3 final.sh
您可以将作业 ID 存储在变量中,并将其用于下一个命令。 就像是
jobs=$(seq 1 10 | awk '{ printf ":%s", $1 }')
# \------/
# your jobID printing function here
接着
sbatch -d afterok"$jobs" final.sh
你可以用
for job in Job*.sh ; do sbatch --parsable $job; done | paste -s -d: | xargs -I{} sbatch --depedency afterok:{} final.sh
paste
命令将收集所有作业 IDS 并将它们写在一行中,用冒号分隔,而xargs
将获取结果并将其插入{}
占位符。 有关作业 ID 的信息通过管道传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.