今天遇到线上的一个问题:

我需要批量杀死某台机器的 PHP 进程,该怎么办?

注意,不是 php-fpm,是常驻任务。

如果是一个进程,那就好办了,ps -ef | grep php,找到 PID 然后 kill -9 PID……

那批量怎么搞呢?答案是 awk 命令。

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

有了 awk 神器,批量杀进程就非常容易了:

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

这行命令有几个要点:

  • grep -v word 可以过滤掉包含 word 的行
  • awk 默认分隔符是空格,$6 表示按列切割后的第 2 列,也就是 PID
  • xargs 用来将 PID 传递给 kill -9 把进程杀死

如果分隔符不是空格,可以使用参数 -F ':'

awk 还有很多参数,它甚至可以用来编程,实现复杂的文本处理,有兴趣的可以参考下面的链接了解。

参考资料

  1. 《Linux awk 命令》
  2. 《Linux xargs 命令》
  3. 《Linux grep 命令》

文章来源于本人博客,发布于 2019-05-13,原文链接:https://imlht.com/archives/186/

巧用 awk 批量杀进程的更多相关文章

  1. 【Linux】使用awk批量杀进程

    pkill 杀一个用户的所有进程 pkill -u bingo 批量杀进程 使用ps -ef|grep aaa 查出相关进程 使用grep -v grep 过滤掉grep本身产生的进程 使用awk 打 ...

  2. [Linux]使用awk批量杀进程的命令

    碰到需要杀掉某一类进程的时候,如何批量杀掉这些进程,使用awk命令是很好的选择. ps -ef|grep aaa|grep -v grep|awk '{print "kill -9 &quo ...

  3. 使用awk批量杀进程的命令

    在做系统运维的过程中,有时候会碰到需要杀掉某一类进程的时候,如何批量杀掉这些进程,使用awk命令是很好的选择. ps -ef|grep aaa|grep -v grep|awk '{print &qu ...

  4. [转]使用awk批量杀进程的命令

    1. ps -ef|grep aaa|grep -v grep 这是大家很熟悉的命令,这里就不再多说,就是从当前系统运行的进程的进程名中包含aaa关键字的进程. 2. 后面部分就是awk命令了,一般a ...

  5. Linux 批量杀进程的命令

    使用awk批量杀进程的命令: ps -ef | grep firefox | grep -v grep | awk '{print "kill -9 "$2}'|sh #列出了当前 ...

  6. shell批量杀进程

    ps aux |grep java |grep -v 'grep java'|awk {'print $2'}|xargs kill -9 ps aux |grep java 查询包含‘java’的进 ...

  7. 使用xargs与awk联合使用批量杀进程,很方便

    ps -ef | grep java | grep alarm | awk '{print $2}' | xargs kill -9 注*A.  $2表示第2列,即进程号PID; awk很强大,这里不 ...

  8. 批量杀进程 ps awk grep

    ps aux |grep lt-newindexclient |grep -v grep |awk grep -v 反向输出,即过滤掉带有grep的输出. xargs:传递参数

  9. 批量杀进程——xargs用途

    ps -ef|grep ora|grep “LOCAL=YES”|awk ‘{print $2}’|xargs –I {} kill -9 {} ps -ef|grep ora|grep “LOCAL ...

  10. MySQL批量杀进程

    OS: CentOS 6.3 DB:5.5.14 mysql> show processlist;+----+------+-----------+--------------------+-- ...

随机推荐

  1. 一文详解RocketMQ-Spring的源码解析与实战

    摘要:这篇文章主要介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角度解读 SDK 的设计逻辑. 本文分享自华为云社区< ...

  2. Android JAVA连接MQTT,以及常见问题

    本文介绍如何使用Android(JAVA)客户机连接MQTT服务器 第一步先引入MQTT 在 build.gradle 添加以下: dependencies { implementation 'org ...

  3. go中 for循环的坑

    go中 for循环的坑 在使用for循环修改结构体切片中的值时,发现并没有修改成功. type Dog struct { name string } func (d *Dog) setNewName( ...

  4. PropertyGrid实现文件选择项

    原来公司的一段代码,现在给朋友写的软件里也用上了,看样用处挺多,所以保存一下. 自定义属性类: using System; using System.Collections.Generic; usin ...

  5. 在docker容器里,ffmpeg给视频文件内嵌字幕文件,不生效,如何解决?

    用ffmpeg命令,发现执行成功,但视频文件就是没有字幕.看不出问题出现在什么地方.后来直接用ffmpeg添加水印命令测试,发现是缺少字体文件,如下图所示: 报Fontconfig error: Ca ...

  6. 2022-11-24:小团在地图上放了3个定位装置,想依赖他们进行定位! 地图是一个n*n的棋盘, 有3个定位装置(x1,y1),(x2,y2),(x3,y3),每个值均在[1,n]内。 小团在(a,

    2022-11-24:小团在地图上放了3个定位装置,想依赖他们进行定位! 地图是一个n*n的棋盘, 有3个定位装置(x1,y1),(x2,y2),(x3,y3),每个值均在[1,n]内. 小团在(a, ...

  7. 2021-04-29:给定一个数组 arr,代表一排有分数的气球。每打爆一个气球都能获得分数,假设打爆气 球 的分数为 X,获得分数的规则如下: 1)如果被打爆气球的左边有没被打爆的气球,找到离被打爆

    2021-04-29:给定一个数组 arr,代表一排有分数的气球.每打爆一个气球都能获得分数,假设打爆气 球 的分数为 X,获得分数的规则如下: 1)如果被打爆气球的左边有没被打爆的气球,找到离被打爆 ...

  8. Djnago常用命令

    pip: bundle,创建包含多个包的pybundles:freeze,显示所有已安装的包:help,显示可用命令:install,安装包:search,搜索PyPi:uninstall,卸载包:u ...

  9. LVDS_33 support

    在HR bank/HD bank中,支持LVDS的bank使用VCCO 3.3v供电,仅仅需要对端给过来的信号,满足标准的LVDS差模电压/共模电压的标准即可.如下截图:  限制: 仅能作为input ...

  10. IDP 与 DevOps平台:相似之处与关键差异

    软件开发是一个复杂而动态的过程,涉及许多工具.技术和实践.为了更快.更好地交付软件,开发人员需要有效地协作,自动执行任务,并管理环境.然而,由于软件架构的日益复杂,工具和平台的多样性,以及对安全和合规 ...