使用qdel立即删除所有作业,而不是一次删除一个

Gab*_*iel 49 ssh jobs cluster-computing

这是一个相当简单的问题,但我找不到答案.

我在群集中运行了大量作业(> 20),我想将它们全部删除并重新开始.

根据这个网站,我应该能够做到:

qdel -u netid
Run Code Online (Sandbox Code Playgroud)

摆脱他们所有,但在我的情况下返回:

qdel: invalid option -- 'u'
usage: qdel [{ -a | -c | -p | -t | -W delay | -m message}] [<JOBID>[<JOBID>]|'all'|'ALL']...
   -a -c, -m, -p, -t, and -W are mutually exclusive
Run Code Online (Sandbox Code Playgroud)

这显然表明该命令不起作用.

只是为了检查,我做了:

qstat -u <username>
Run Code Online (Sandbox Code Playgroud)

我确实得到了所有工作的清单,但是:

qdel -u <username>
Run Code Online (Sandbox Code Playgroud)

也失败了.

Gab*_*iel 75

找到了埋在旧的supercluster.org线程中的答案:

qselect -u <username> | xargs qdel
Run Code Online (Sandbox Code Playgroud)

工作完美无瑕.

  • 谢谢。除了 UGE 之外,选项是大写: qselect -U &lt;user_list&gt; (2认同)
  • 对 &lt;username&gt; 使用 $USER (2认同)

小智 43

不能评论,但建立在加布里埃尔回答的问题上:

qselect -u <username> | xargs qdel

qselect -u <username> -s <state> | xargs qdel
Run Code Online (Sandbox Code Playgroud)

<state>将仅R用于运行工作.

qselect将允许您根据其他标准选择作业,例如ressources ask(-l),destination queue(-q)...

qdel -u <username>
Run Code Online (Sandbox Code Playgroud)

只适用于SGE


小智 10

有时简单grep/cut也可以帮助: qstat | grep $USER | cut -d. -f1 | xargs qdel

这样我们也可以grep在作业的特定关键字上删除它们.

HTH

  • 我一直使用它,因为它为其他grep搜索增加了很多灵活性。 (2认同)
  • 您可能需要根据“qstat”输出的样子调整分隔符和字段编号。例如,对我来说它以两个空格字符开头,所以我使用 `qstat | grep $用户| 切 -d' ' -f3 | xargs qdel`。 (2认同)

Cia*_*lsh 7

尝试

$ qdel {id1..id2}
Run Code Online (Sandbox Code Playgroud)

例如:

$ qdel {1148613..1148650}
Run Code Online (Sandbox Code Playgroud)