linux批量操作助手,Linux进程批量杀死,一行命令全搞定,加强修复版

这一篇是对前面一篇的更新,也是bug修复。

af37cac198acd6e06d7ff2ea2e982e3e.png

回顾

上一个版本,我们推荐在Linux下,使用管道符,使用了4个工具,5个指令,将进程中不想使用的PIDs,进行批量kill操作。

使用工具如下:

ps aux | grep thread_name | grep -v grep | cut -c 9-15 | xargs kill -9

功能再分析

注意,上一条,我们使用cut这个裁切文本工具。

正如一位专业人士指出的那样,这样写是有bug的!

如果PID号超过7位,怎么办?

是的,使用 cut -c选项,将所有字符,单个批开,然后用固定位置截取PID,7位以下,可以做到拿到正确的PID号。

话说,Linux进程号,可能达到7位吗?

完全可能!

Bug修复

上面的命令行如何修改?

我们注意到,其实关键因素是ps的输出,以及cut的裁切。

cut:我们使用了-c选项,用于挨个字符串切割,然后定位,这样做短期可以,超过15 - 9 + 1 = 7位,极其危险。因为,如果你用的root权限执行,kill掉的,可能是一个重要的应用进程。

线上很有可能瘫痪的。

Awk工具

是时候祭出重量级编程工具语言——awk了!

上面的命令行这样写:

ps aux | grep thread_name | grep -v grep | awk -F " " '{print $2}' | xargv kill -9

为什么awk可以?

因为awk使用的-F分隔符自动去除了无效的连续空格。

所以,只要ps aux的输出顺序不变,awk拿到的$2,就永远是PID。

dcaf6a035e91663a055b8e30bcb35dc4.png

写在最后

纸上得来终觉浅,绝知此事要躬行。

大家测试一下,有问题留言反馈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值