Linux 批量杀死进程(详细版本)

使用场景

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

Linux 批量杀死进程(详细版本)

批量 Kill 进程

命令:

ps -ef|grep GSM_run.py|grep -v grep|cut -c 9-15|xargs kill -9

命令说明 :

1、管道符 “|” 用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

2、” ps -ef” 是 查看所有进程

其中 ps -aux 也是查看所有进程 不过两者右以下区别:

(1) -ef是System V展示风格,而 -aux是BSD风格

​ Unix操作系统在操作风格上主要分为System V和BSD

(2)COMMADN列如果过长, -aux会截断显示,而 -ef不会

(3) -aux可以查看进程的CPU占用率和内存占用率,而 -ef不能

Linux 批量杀死进程(详细版本)

Linux 批量杀死进程(详细版本)

3、 ” grep GSM_run.py” 列出含有关键字”GSM_run.py”的所有进程

4、” grep -v grep“是在列出的进程中去除含有关键字”grep”的进程

5、” cut -c 9-15“是截取输入行的第9个字符到第15个字符,而这正好是进程号PID

某些情况下 9-15 是 不够的 可以 写成 awk ‘{print $2}’ 其 表示 按空格分割取第二个元素,即取进程号 PID。此时完整的命令为 :

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

6、” xargs kill -9” xargs命令把前面命令的输出结果(PID)作为”kill -9″命令的参数,并执行

更简单的办法

pkill
杀死指定名字的所有进程
直接指定进程名字 而无需使用 ps 获得进程PID,十分简单,建议采用

pkill -9 GSM_run.py

但是要注意,当你的进程名字中包含空格时(python train.py),无法使用进程名的全称作为kill 的name,会报错:

Linux 批量杀死进程(详细版本)

且此时不能使用空格后面的部分名称作为kill name(如上图中的 train.py),不然无法kill成功,要使用空格前的名称(如上图中的 python)。

Linux 批量杀死进程(详细版本)

除了批量 kill 同名或部分同名的进程外,还可以kill所有同一指定用户底下的所有进程

pkill -u pc    ## kill pc 用户的所有的用户的进程
pkill -vu root    ## kill 除了 root 用户外的所有的用户的进程

killall
与 pkill 类似,也是可以按照指定的进程名字杀死对应的所有进程

killall -9 GSM_run.py

在运行时可能会报错,说没有 killall 命令:

Linux 批量杀死进程(详细版本)

解决:安装即可

ubuntu系统下:

apt-get install psmisc

centos系统下:

yum install -y psmisc

同样的要注意,当你的进程名字中包含空格时(python train.py),使用空格后的部分名称作为kill name,会报错, 且无法kill进程:

Linux 批量杀死进程(详细版本)

使用进程名的全称(python train.py)作为kill 的name,也会报错,但是对应的进程被kill了,这与pkill不一样,因为其从空格前的部分名称(python)就已经找到对应的进程了,这从其报错信息可以看出端倪:

Linux 批量杀死进程(详细版本)

而使用空格前的名称( python)就不会报错,且能 kill 对应进程

Linux 批量杀死进程(详细版本)

Original: https://www.cnblogs.com/jack-nie-23/p/16448688.html
Author: jacknie23
Title: Linux 批量杀死进程(详细版本)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582400/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Polly服务治理(简单使用)

    一、服务治理说明 1、重试(Retry) 2、断路器(熔断)(Circuit-Breaker) 3、超时检测(TimeOut) 4、缓存(Cache) 5、降级(Fallback)…

    Linux 2023年6月14日
    076
  • DotNet发布程序到NuGet

    1、新建一个类库 2、选择项目属性,在包栏目下填写 3、选择项目,鼠标右键”打包” 主要注意的是生成配置需改为 Release 4、然后就可以在我们项目 b…

    Linux 2023年6月13日
    099
  • Cookie

    题目如下 打开靶机 根据提示,需要admin登录才能得到flag,题目介绍为Cookie欺骗,认证,伪造 打开burpsuite进行抓包,HTTP数据包是可以修改cookie值的 …

    Linux 2023年6月7日
    081
  • 《深度工作:如何有效使用每一点脑力》读后感

    空闲时间阅读了一下《深度工作:如何有效使用每一点脑力》,作为一个沉迷网络的人,已经很难有聚精会神的时候,所以阅读此书,记录一下读后感,争取应用到生活当中。全书分为两个方面进行说明:…

    Linux 2023年6月7日
    094
  • 【docker】python: can’t open file ‘helloworld.py’: [Errno 13] Permission denied

    运行容器提示权限问题 docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python hel…

    Linux 2023年6月7日
    0110
  • LaTeX 数学公式语法

    参考来源: https://blog.csdn.net/anxiaoxi45/article/details/39449445 https://www.cnblogs.com/ya…

    Linux 2023年6月7日
    099
  • python学习(解析python官网会议安排)

    对html的解析是网页抓取的基础,分析抓取的结果找到自己想要的内容或标签以达到抓取的目的。 HTMLParser是python用来解析html的模块。它可以分析出html里面的标签…

    Linux 2023年6月14日
    0109
  • 惊了!修仙=编程??

    大家好,我是良许。 在我记忆中,我们接触到的所有编程书籍都是这样的: [En] As far as I can remember, all the programming book…

    Linux 2023年5月27日
    089
  • 主机存活探测程序

    一、ICMP协议原理 什么是icmp协议 因特网控制报文协议ICMP(Internet Control Message Protocol)是一个差错报告机制,是TCP/IP协议簇中…

    Linux 2023年6月7日
    0112
  • WEB自动化-10-Page Object 模型

    10 Page Object 模型 10.1 概述 在针对一个WEB页面编写自动化测试用例时,需要引用页面中的元素( 数据)才能进行操作( 动作)并显示出页面内容。如果编写的测试用…

    Linux 2023年6月7日
    081
  • powershell配置自动补全

    powershell配置自动补全 一、需求: 看到老师上课用mac命令行有自动补全功能,发现真的爽。但是自己的windows powershell不能使用自动补全功能。有了需求,就…

    Linux 2023年6月13日
    0136
  • centos 8及以上安装mysql 8.0

    本文适用于centos 8及以上安装mysql 8.0,整体耗时20分钟内,不需要FQ 1.环境先搞好 systemctl stop firewalld //关闭防火墙 syste…

    Linux 2023年6月7日
    0110
  • nginx禁止直接ip、未配置域名访问配置

    问题背景 最近偶然对线上域名配置的nginx IP进行直接访问后,发现http居然是可以通的,而https直接IP访问浏览器会报证书不安全的提示,点击详细查看发现是固定返回了ngi…

    Linux 2023年6月6日
    0212
  • Python之元类详解

    一、引子 元类属于Python面向对象编程的深层魔法,99%的人都不得要领,一些自以为搞明白元类的人其实也是自圆其说,点到为止,从队元类的控制上来看就破绽百出,逻辑混乱; 二、什么…

    Linux 2023年6月14日
    094
  • debugfs使用指南

    debugfs 概述 类似sysfs、procfs,debugfs 也是一种内存文件系统。不过不同于sysfs一个kobject对应一个文件,procfs和进程相关的特性,debu…

    Linux 2023年6月7日
    095
  • C++ inline

    inline的坏处:若在一台内存有限的机器上,过度热衷inlining会造成程序体积太大,即使拥有虚拟内存,inline造成的代码膨胀也会导致额外的换页行为,降低指令高速缓存装置的…

    Linux 2023年6月7日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球