如何取消 Slurm 中作业名称中包含单词的作业?例如,假设我squeue
在终端中执行操作并获取当前正在运行的所有作业。
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
468624 overcap ws_svea_ dyung6 R 12:37:16 1 brainiac
468608 overcap fs_svea_ dyung6 R 13:47:57 1 smith
468118 overcap fs_augcl dyung6 R 1-15:51:38 1 gideon
468119 overcap bc_augcl dyung6 R 1-15:52:38 1 bb8
468120 overcap bc_augcl dyung6 R 1-15:52:38 1 jarvis
468122 overcap bc_augcl dyung6 R 1-15:52:38 1 jarvis
467796 overcap ww_augcl dyung6 R 2:06:08 1 asimo
468609 overcap fs_svea_ dyung6 R 11:58:54 1 gideon
468614 overcap ww_svea_ dyung6 R 11:58:54 1 gideon
468615 overcap cs_svea_ dyung6 R 11:58:54 1 gideon
469031 overcap ws_NNDrQ dyung6 R 2:23:46 1 ig-88
469032 overcap ws_NNDrQ dyung6 R 2:23:45 1 ig-88
然后我想取消augcl
名称中包含的所有作业。这可能吗?
答案1
用于squeue
获取您自己正在运行的不带标题的作业的列表。现在grep
使用您选择的字符串查找作业名称awk
并返回作业 ID。
现在将其输入到scancel
.
测试:
squeue --me --states=RUNNING --Format=jobid,name --noheader |
grep augcl |
awk '{print $1}' |
xargs echo scancel
然后运行:
squeue --me --states=RUNNING --Format=jobid,name --noheader |
grep augcl |
awk '{print $1}' |
xargs scancel
如果您想定位所有作业,无论您可以使用哪个州--states=ALL
,同样,您可以通过根据需要更改它来定位特定的一个或多个州,例如--states=RUNNING,PENDING
*注意:未经我完全测试。