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)

大家都在看

  • 《Redis开发与运维》——(五)Redis持久化(脑图)

    posted @2021-01-09 15:04 雪山上的蒲公英 阅读(122 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs…

    Linux 2023年5月28日
    083
  • DMA 与零拷贝技术

    原文链接:DMA 与零拷贝技术 注意事项:除了 Direct I/O,与磁盘相关的文件读写操作都有使用到 page cache 技术。 1. 数据的四次拷贝与四次上下文切换 很多应…

    Linux 2023年6月16日
    0120
  • Redis基础教程

    redis基础教程 1、 string数据结构 a) SET server:name “fido” b) SETNX server:name1″…

    Linux 2023年5月28日
    076
  • Java基础系列–02_运算符和程序的语句

    运算符:(1)算术运算符:+,-,*,/,%,++,–(加、减、乘、除、取余、自增,自减)++和–的注意事项:a:他们的作用是自增或者自减b:使用1.单独使…

    Linux 2023年6月7日
    079
  • 白话linux操作系统原理

    虽然计算机相关专业,操作系统和计算机组成原理是必修课。但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化。还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解…

    Linux 2023年5月27日
    0109
  • 性能压测时 数据库服务器CPU使用率过高的解决方案

    1、确定是否有慢sql语句; 1)登录数据库服务器,连接数据库;执行命令:mysql -uroot -p 密码 2)查看慢sql日志是否开启,执行命令:show variables…

    Linux 2023年6月8日
    084
  • Linux 常用目录管理命令

    cp:复制文件或目录,直接复制,如,cp /root/install.sh /home cp -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用),如 cp -a…

    Linux 2023年6月14日
    091
  • 15、16、17思维导图

    posted @2022-04-24 10:20 20191223张俊怡 阅读(31 ) 评论() 编辑 Original: https://www.cnblogs.com/zzj…

    Linux 2023年6月8日
    0128
  • 面试必问的安卓虚拟机,你真的掌握了么?——安卓虚拟机基础知识回顾

    前言 21世纪,安卓虚拟机正在一步步的走入我们的生活,小到个人部分朋友在电脑上使用安卓虚拟机玩手游,大到安卓从业人员在虚拟机上面跑程序。不得不承认,对于每一位Androider 而…

    Linux 2023年6月13日
    092
  • Redis 配置文件

    http://blog.csdn.net/tonysz126/article/details/8280696/ 2.1 Redis配置文件 为了对Redis的系统实现有一个直接的认…

    Linux 2023年5月28日
    096
  • IDEA生成带参数和返回值注释

    步骤说明 打开IDEA进入点击左上角 – 文件 – 设置 – 编辑器 – 活动模板 新建活动模板 填写模板文本 编辑变量 添加变量表…

    Linux 2023年6月6日
    095
  • docker 常用批量操作

    显示所有镜像的tag docker images |awk ‘{print $1":"$2}’ 删除所有镜像 docker images |awk ‘{prin…

    Linux 2023年6月6日
    095
  • Redis的字符串源码

    Redis的字符串源码 什么是二进制安全?通俗地讲,C语言中,用”\0″表示字符串的结束,如果字符串中本身就有”\0″字符,字符串就…

    Linux 2023年5月28日
    083
  • Logback 日志框架

    Logback 是由 Log4j 创始人设计的又一个开源日志组件。作为流行的 Log4j 项目的继承者,在 log4j 1.x 停止的地方接手。其架构非常通用,可以在不同的情况下应…

    Linux 2023年6月8日
    087
  • Python 排序算法之快速排序

    快速排序之分治法三步走 """ 快速排序 分治法(divide and conquer),三步走 1. Partition:选择一个基准(pivot)…

    Linux 2023年6月13日
    091
  • 2021年度总结 2022年度规划

    2021年 计划 1、学习更多的知识😁 2、学习408的知识,至少能熟悉计算机组成原理、操作系统、计算机网络、算法这几个的联系,区别等。😁 3、整理408的知识到博客上。 (一篇未…

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