Slurm - 如何取消 job_name 中包含单词的作业

Slurm - 如何取消 job_name 中包含单词的作业

如何取消 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

*注意:未经我完全测试。

相关内容