在做專案的時候,由於情況要求,需要把伺服器上符合某一條件的程序全部kill
掉,但是又不能使用killall
直接殺掉某一程序名稱包含的所有執行中的程序(即我們可能只需要殺掉某一類含有特定引數命令的程序)。
具體命令參考:
ps -ef | grep test | grep -v grep | awk '' | xargs kill -9
其中:
|
管道符,用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
ps
命令用來列出系統中當前執行的程序,ps -ef
顯示所有程序資訊,聯通命令列。
grep
命令用於過濾/搜尋特定字元,grep test
在這裡為搜尋過濾所有含有『test』名稱的程序
grep -v grep
-v 顯示不包含匹配文字的所有行,在這裡為篩選出所有不包含grep
名稱的程序,對上一步的程序再做一次篩選(因為ps -ef
列出了所有的命令,包括命令列)
awk
在檔案或字串中基於指定規則瀏覽和抽取資訊;把檔案逐行讀入,以空格為預設分隔符將每行切片,然後再進行後序處理。這裡利用awk ''
將上一步中過濾得到的程序進行列印,$2
表示列印第二個域(pid,程序號)$0
表示所有域,$1
表示第乙個域,$n
表示第n個域。
xargs
命令是給命令傳遞引數的過濾器,善於把標準資料資料轉換成命令列引數。在這裡則是將獲取前乙個命令的標準輸出然後轉換成命令列引數傳遞給後面的kill
命令。
kill -9
強制關閉程序。
此外,也有使用cut
命令進行處理的,參考如下:
ps -ef | grep test | grep -v grep | cut -c 9-15 | xargs kill -9
cut -c 9-15
僅顯示第9-15個字元(即pid,程序號)
Linux下批量殺掉篩選程序
由於情況要求,需要把伺服器上符合某一條件的程序全部kill掉 具體命令參考 ps ef grep test grep v grep awk xargs kill 9 其中 管道符,用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。ps命令用來列出系統中當前執行的程序,ps ef顯示所...
Linux 批量殺掉程序
ps ef grep firefox grep v grep awk sh 列出了當前主機中執行的程序中包含firefox關鍵字的程序 ps ef grep firefox grep v grep 列出了要kill掉這些程序的命令,並將之列印在了螢幕上 ps ef grep firefox grep...
Linux下批量殺掉含有某個關鍵字的程序
ps ef grep spider run.py grep v grep cut c 9 15 xargs kill 9管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。ps ef 是linux裡檢視所有程序的命令。grep spider run.py 的輸出結果是,所有含有...