ubuntu 批量殺死包含指定名稱的進程

執行命令

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

其中:
|管道符,用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
ps命令用來列出系統中當前運行的進程, ps -ef顯示所有進程信息,聯通命令行。
grep命令用于過濾/搜索特定字符,grep test在這里為搜索過濾所有含有‘test’名稱的進程
grep -v grep-v 顯示不包含匹配文本的所有行,在這里為篩選出所有不包含grep名稱的進程,對上一步的進程再做一次篩選(因為ps -ef列出了所有的命令,包括命令行)
awk在文件或字符串中基于指定規則瀏覽和抽取信息;把文件逐行讀入,以空格為默認分隔符將每行切片,然后再進行后序處理。這里利用awk '{print 2}'將上一步中過濾得到的進程進行打印,2表示打印第二個域(PID,進程號) 0表示所有域,1表示第一個域,$n表示第n個域。
xargs命令是給命令傳遞參數的過濾器,善于把標準數據數據轉換成命令行參數。在這里則是將獲取前一個命令的標準輸出然后轉換成命令行參數傳遞給后面的kill命令。
kill -9強制關閉進程。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容