我可以只取消 slurm 中的数组作业吗?

Can I cancel just the array job in slurm?

我有一堆作业 运行宁作为 slurm 中的数组作业:

123_[1-500] PD my_job 0:00 me
123_2       R  my_job 9:99 me
123_3       R  my_job 9:99 me
123_4       R  my_job 9:99 me
123_5       R  my_job 9:99 me
...

当我阅读 scancel 上的手册页时,它似乎表明如果我执行 scancel 123 它将停止 everything

我错了吗,还是有另一种方法可以停止数组作业?我希望已经 运行ning 的作业完成,我只是不想再由 123 创建任何作业,而且我真的不想弄清楚哪些作业需要重新- 运行如果我中途不小心杀了他们

我暂停了作业:scontrol hold 123 squeue 报告的所有作业都完成后,我就可以取消它了。

您可以使用额外的 --state 标签发布 scancel

 scancel --state=PENDING 123

或者,简而言之:

 scancel -t PD 123

这只会取消 123 阵列中待处理的作业,并会留下 运行 已经开始的作业。