Linux批量杀进程

使用场景

当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的kill多进程的命令工作了
image-1658904782768

命令

ps -ef|grep GSM_run.py|grep -v grep|awk '{print $2}'|xargs kill -9

命令说明

1、管道符 “|” 用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
2、“ps -ef” 是 查看所有进程
其中 ps -aux 也是查看所有进程 不过两者右以下区别:

  • -ef是System V展示风格,而-aux是BSD风格
  • Unix操作系统在操作风格上主要分为System V和BSD
  • COMMADN列如果过长,-aux会截断显示,而-ef不会
  • -aux可以查看进程的CPU占用率和内存占用率,而-ef不能

3、 “grep GSM_run.py” 列出含有关键字"GSM_run.py"的所有进程
4、"grep -v grep"是在列出的进程中去除含有关键字"grep"的进程
5、"awk ‘{print $2}’ "表示按空格分割取第二个元素,即取进程号 PID
6、“xargs kill -9” xargs命令把前面命令的输出结果(PID)作为"kill -9"命令的参数,并执行

Q.E.D.


一名北漂的网安工程师,希望这次能好好工作,不被毕业吧…