[linux] 大批量删除任务
Posted jessepeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[linux] 大批量删除任务相关的知识,希望对你有一定的参考价值。
一不小心投了巨多任务,或者投递的资源不合理时,想批量杀掉这些任务。
kill的方法就不说了,我这里用qdel的方法。
用了这么一条命令:
qstat |sed '1,2d' |awk -F' ' 'print $1' |sed ':x;N;s/\n/ /;b x'|cat
再用qdel
删除即可。这里还是用了两步,而且用sed
将换行符替换为空格很复杂的样子,不友好。
其实可以直接用xargs
简化:
qstat |sed '1,2d' |awk -F' ' 'print $1' | xargs qdel
也可根据用户或者运行状态有选择性地删除,如只删等待状态的任务而不删除运行中的任务。
qstat -u USERNAME | grep "qw" | cut -d" " -f1 | xargs qdel
同样,删除运行中的任务:
qstat -u USERNAME | grep "r" | cut -d" " -f1 | xargs qdel
cut
和awk
均可
以上是关于[linux] 大批量删除任务的主要内容,如果未能解决你的问题,请参考以下文章