一不小心投了巨多任务,或者投递的资源不合理时,想批量杀掉这些任务。
[linux] 大批量删除任务

kill的方法就不说了,我这里用qdel的方法。
用了这么一条命令:

 qstat |sed '1,2d' |awk -F' ' '{print $1}' |sed ':x;N;s/\n/ /;b x'|cat

[linux] 大批量删除任务

再用qdel删除即可。这里还是用了两步,而且用sed将换行符替换为空格很复杂的样子,不友好。
[linux] 大批量删除任务

其实可以直接用xargs简化:

qstat |sed '1,2d' |awk -F' ' '{print $1}' | xargs qdel

[linux] 大批量删除任务

也可根据用户或者运行状态有选择性地删除,如只删等待状态的任务而不删除运行中的任务。

qstat -u USERNAME | grep "qw" | cut -d" " -f1 | xargs qdel

[linux] 大批量删除任务

同样,删除运行中的任务:

qstat -u USERNAME | grep "r" | cut -d" " -f1 | xargs qdel

cutawk均可

其实,如果是删除用户全部的任务,使用qdel -u name最简洁。

相关文章:

  • 2022-02-08
  • 2021-07-24
猜你喜欢
  • 2021-06-05
  • 2021-07-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
相关资源
相似解决方案