Linux批量kill包含某個關鍵字(zì)的進程
有時候因(yīn)為一些情況,需要把 linux 下符合(hé)某一項條件的所有進程(chéng) kill 掉,又不能用 killall 直接殺掉(diào)某一進程(chéng)名稱包含(hán)的(de)所有(yǒu)運(yùn)行中進程(我們可能隻需要殺(shā)掉其中(zhōng)的某一(yī)類或運(yùn)行指定參數命(mìng)令的進程(chéng)),這個時候我們需要(yào)運(yùn)用(yòng) ps, grep, cut 和(hé) kill 一起(qǐ)操作。
ok,下麵給出(chū)具體的參考:
ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
運行這條命令將會(huì)殺掉所有(yǒu)含有關鍵(jiàn)字"LOCAL=NO"的進程,是不是很(hěn)方便?
下麵將這條命令作一下(xià)簡(jiǎn)單說明:
管道符"|"用(yòng)來隔開兩個命令,管(guǎn)道(dào)符左邊(biān)命令的輸(shū)出會作為(wéi)管道符(fú)右邊命令(lìng)的(de)輸入。
"ps -ef" 是(shì)linux裏查看所有(yǒu)進(jìn)程的(de)命令。這(zhè)時檢索出的進程將作為下一條命令"grep LOCAL=NO"的輸入。
"grep LOCAL=NO" 的(de)輸出結(jié)果是,所有含有關(guān)鍵字(zì)"LOCAL=NO"的進程。
"grep -v grep" 是在列出的進程中去除含有關鍵字(zì)"grep"的進程。
"cut -c 9-15" 是截取輸入行(háng)的第9個字符到第15個字符(fú),而這正好是(shì)進程號PID。
"xargs kill -9" 中的 xargs 命令是用來(lái)把前麵命(mìng)令的(de)輸出結果(guǒ)(PID)作(zuò)為"kill -9"命令的參數,並執行該命(mìng)令。"kill -9"會強行殺掉指定進程。
其它類似的情況,隻(zhī)需要修改"grep LOCAL=NO"中的關鍵字部(bù)分就可以了。
另一種方法,使用awk
ps x|grep gas|grep -v grep |awk '{print $1}'|xargs kill -9
關鍵(jiàn)詞:Linux
閱(yuè)讀本文(wén)後您有(yǒu)什麽感想? 已有 人(rén)給出評(píng)價!
- 1
- 1
- 0
- 4
- 0
- 0