Linux批量杀死进程的几种方法

"Absolutely, It works!"

Posted by Rpl on May 13, 2019

本篇文章转载自我在CSDN上的一篇blog. https://blog.csdn.net/littleRpl/article/details/89641993

方法一: 强制杀死某个端口号下的所有进程:

例:杀死端口8001下的所有进程

1
 sudo fuser -k -n tcp 8001  

方法二: 杀死某个命令下的所有进程

例: 杀死所有python3 执行的程序

1
sudo killall python3

方法三:杀死程序名含有xxx字段的所有进程

例:杀死 文件名含 ‘AI_server’的所有进程

1
ps -def |grep 'AI_server' |cut -c 9-15| xargs kill -9

这个命令比killall更棒的是不会误杀,更加精准的杀掉一批进程。 特别是再进程非常非常多,而killall又会误杀其他进程的时候,非常灵活好用。

下面是对方法三命令的详解:

  1. ps -def |grep 'AI_server' 这个命令会查出所有文件名字含有‘AI_server’的进程,如图:
  2. cut 9-15是从每条字符串中截取第9-15个字符, 刚好就是我们所需的进程号,如图: 在这里插入图片描述
  3. xargs kill -9 xargs 是把我们前面提取到的所有的进程号,作为参数传给命令kill -9, 这样我们就能杀死所有的进程了。如图: 在这里插入图片描述 如下图,我们就成功杀死了含有‘AI_srever’的所有进程 在这里插入图片描述