Linux下批次殺掉 包含某個關鍵字的 程式程式

531968912發表於2016-09-14
有時候因為一些情況,需要把 linux 下符合某一項條件的所有程式 kill 掉,又不能用 killall 直接殺掉某一程式名稱包含的所有執行中程式(我們可能只需要殺掉其中的某一類或執行指定引數命令的程式),這個時候我們需要運用 ps, grep, cut 和 kill 一起操作。


ok,下面給出具體的參考:


ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9<div>ps -ef|grep LOCAL=NO|grep -v grep| awk '{print $2}'|xargs kill -9  </div>
執行這條命令將會殺掉所有含有關鍵字"LOCAL=NO"的程式,是不是很方便?


下面將這條命令作一下簡單說明:


管道符"|"用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。


"ps -ef" 是linux裡檢視所有程式的命令。這時檢索出的程式將作為下一條命令"grep LOCAL=NO"的輸入。


"grep LOCAL=NO" 的輸出結果是,所有含有關鍵字"LOCAL=NO"的程式。


"grep -v grep" 是在列出的程式中去除含有關鍵字"grep"的程式。


"cut -c 9-15" 是擷取輸入行的第9個字元到第15個字元,而這正好是程式號PID。


"xargs kill -9" 中的 xargs 命令是用來把前面命令的輸出結果(PID)作為"kill -9"命令的引數,並執行該命令。"kill -9"會強行殺掉指定程式。


其它類似的情況,只需要修改"grep LOCAL=NO"中的關鍵字部分就可以了。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2124966/,如需轉載,請註明出處,否則將追究法律責任。

相關文章