在Slurm中拥有多个作业

5

我知道对于特定的作业ID,可以使用scontrol hold $JOBID来暂停作业。

我如何暂停多个ID的作业,或者暂停一系列作业ID(例如,scontrol hold 294724-294749)?

还有,如何基于我的$USER来暂停作业?


尝试使用循环或 xargs - Poshi
1个回答

7

首先,如果您的所有作业都具有相同的名称,则可以使用

scontrol hold <jobname>

为了管理所有的作业。

但是scontrol命令接受一个作业ID列表,该列表可以是用空格或逗号分隔的。因此,如果您的作业具有连续的作业ID,您可以使用Bash的{1..n} (花括号扩展)构造生成列表并将其提供给scontrol:

scontrol hold {294724..294749}

否则,一个常见的习惯用法是利用`squeue`的输出格式化功能来生成` scontrol`命令并将其传递给shell:
squeue --user $USER --format "scontrol hold %i" | sh

在这种情况下,建议先运行` squeue` 命令而不是通过管道传送到 sh,以便在再次通过 sh 运行之前检查其输出。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接