老男人百科 > 百科 > 正文

Linux批量kill包含某个关键字的进程

2023-05-16 01:43:43 阅读( 5295)

有时候因为一些情况,需要把linux下符合某一项条件的所有进程kill掉,又不能用killall直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用ps,grep,cut和kill一起操作。

有时,由于某些情况,需要在linux下丢弃所有满足某个条件的进程。

不能用kill直接杀死一个进程名中包含的所有正在运行的进程(我们可能只需要杀死某个类或者运行指定参数命令的进程)。

这时候我们需要用killallpsgrepcut 一起操作。

好的,具体参考如下:kill

运行这个命令会用关键字' LOCAL=NO '杀死所有进程,方便吗?

以下是该命令的简要说明:

竖线“|”用于分隔两个命令,竖线左边命令的输出将用作竖线右边命令的输入。“Ps -ef”是一个查看linux中所有进程的命令。此时,检索到的进程将被用作下一个命令' grep LOCAL=NO '的输入。

“grep LOCAL=NO”的输出是包含所有带有关键字“LOCAL=NO”的进程。“Grep -v Grep”是从列出的进程中删除包含关键字“grep”的进程。

Cut -c 9-15 '是截取输入行的第九到第十五个字符,恰好是进程号PID。

“xargs kill -9”中的ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9命令用于将前一个命令的输出结果(PID)作为“kill -9”命令的参数并执行它。“Kill -9”将强制终止指定的进程。

其他类似情况,只需要修改‘grep LOCAL=NO’中的关键字部分即可。

另一种方法是使用awk。

ps x|grep gas|grep -v grep |awk '{print $1}'|xargs kill -9

专题页