歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用awk批量殺進程的命令

使用awk批量殺進程的命令

日期:2017/2/28 13:55:47   编辑:Linux教程

在做系統運維的過程中,有時候會碰到需要殺掉某一類進程的時候,如何批量殺掉這些進程,使用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命令得出的結果的第二列上顯示的內容。

下面舉一個簡單的例子:

[PD_APP1:/home/tbcs]#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
[PD_APP1:/home/tbcs]#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後,則執行這些命令,進而殺掉了這些進程。

AWK簡介及使用實例 http://www.linuxidc.com/Linux/2013-12/93519.htm

AWK 簡介和例子 http://www.linuxidc.com/Linux/2012-12/75441.htm

Shell腳本之AWK文本編輯器語法 http://www.linuxidc.com/Linux/2013-11/92787.htm

正則表達式中AWK的學習和使用 http://www.linuxidc.com/Linux/2013-10/91892.htm

文本數據處理之AWK 圖解 http://www.linuxidc.com/Linux/2013-09/89589.htm

如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm

文本分析工具-awk http://www.linuxidc.com/Linux/2014-12/110939.htm

Copyright © Linux教程網 All Rights Reserved