我知道对于特定的作业ID,可以使用scontrol hold $JOBID
来暂停作业。
我如何暂停多个ID的作业,或者暂停一系列作业ID(例如,scontrol hold 294724-294749)?
还有,如何基于我的$USER
来暂停作业?
我知道对于特定的作业ID,可以使用scontrol hold $JOBID
来暂停作业。
我如何暂停多个ID的作业,或者暂停一系列作业ID(例如,scontrol hold 294724-294749)?
还有,如何基于我的$USER
来暂停作业?
首先,如果您的所有作业都具有相同的名称,则可以使用
scontrol hold <jobname>
为了管理所有的作业。
但是scontrol
命令接受一个作业ID列表,该列表可以是用空格或逗号分隔的。因此,如果您的作业具有连续的作业ID,您可以使用Bash的{1..n}
(花括号扩展)构造生成列表并将其提供给scontrol:
scontrol hold {294724..294749}
squeue --user $USER --format "scontrol hold %i" | sh
sh
,以便在再次通过 sh
运行之前检查其输出。
xargs
。 - Poshi