• 使用awk批量杀进程的命令


    在做系统运维的过程中,有时候会碰到需要杀掉某一类进程的时候,如何批量杀掉这些进程,使用awk命令是很好的选择。


    ps -ef|grep aaa|grep -v grep|awk  '{print "kill -9 " $2}' |sh

    1. ps -ef|grep aaa|grep -v grep   

    这是大家很熟悉的命令,这里就不再多说,就是从当前系统运行的进程的进程名中包含aaa关键字的进程。

    2. 后面部分就是awk命令了,一般awk命令的格式为:awk ' pattern {action} '

        print是打印,kill -9 是强制停止进程的命令, $2就是前面有ps -ef命令得出的结果的第二列上显示的内容。

    下面举一个简单的例子:

    #ps -ef|grep boco|grep -v grep
        root  9884  9883  0 17:10:01 ?         0:00 sendmail -oem -oi -froot boco
        root  9883  9880  0 17:10:01 ?         0:00 /usr/bin/mail boco
        boco 11112     1  0  Dec 24  ?         0:00 ./boco_appmaster -d /home/boco/agent
        boco 11126 11125 61  Dec 24  ?        52:59 ./boco_hostagent -i socket -l
        boco 11125 11112 37  Dec 24  ?        43:25 ./boco_appmaster -d /home/boco/agent
        boco  9811 11113  0 17:09:31 ?         0:00 sleep 60
        boco 11113     1  0  Dec 24  ?         0:23 /bin/sh ./boco_monitor.sh
    #ps -ef|grep boco|grep -v grep|awk '{print "kill -9 "$2}'
    kill -9 9884
    kill -9 9883
    kill -9 11112
    kill -9 11126
    kill -9 11125
    kill -9 9811
    kill -9 11113

    我们可以看出,ps -ef|grep boco|grep -v grep列出了当前主机中运行的进程中包含boco关键字的进程

    而ps -ef|grep boco|grep -v grep|awk '{print "kill -9 "$2}'则列出了要kill掉这些进程的命令,并将之打印在了屏幕上

    在ps -ef|grep boco|grep -v grep|awk '{print "kill -9 "$2}'后面加上|sh后,则执行这些命令,进而杀掉了这些进程。

  • 相关阅读:
    指针数组和数组指针表示二维数组
    scanf与getchar()区别
    选择循环
    朴素的思想
    asp.net中word转html碰到的权限异常问题(转)
    MAC下安装Fiddler抓包工具
    抓包工具charles的使用
    mysql 命令大全
    利用反射拼接SQL查询条件字符串
    赚自己的淘宝佣金,让返利网无路可走
  • 原文地址:https://www.cnblogs.com/ThinkVenus/p/7477369.html
Copyright © 2020-2023  润新知