1. 程式人生 > >linux下kill多個程序

linux下kill多個程序



工作中經常需要Kill多個程序,如果這些程序有共同的特點,就可以用一條命令Kill掉它們。比如清除Oracle資料庫的所有遠端連線程序:

  ps -efww|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9

  管道符“|”用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令:


“ps - efww”是Red Hat 7.0裡檢視所有程序的命令。這時檢索出的程序將作為下一條命令“grep LOCAL=NO”的輸入。


  “grep LOCAL=NO”的輸出結果是,所有含有關鍵字“LOCAL=NO”的程序,這是Oracle資料庫中遠端連線程序的共同特點。


  “grep -v grep”是在列出的程序中去除含有關鍵字“grep”的程序。


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


  “xargs kill -9”中的xargs命令是用來把前面命令的輸出結果(PID)作為“kill -9”命令的引數,並執行該命令。“kill -9”會強行殺掉指定程序,這樣就成功清除了oracle的所有遠端連線程序。其它類似的任務,只需要修改“grep LOCAL=NO”中的關鍵字部分就可以了。

============================

sudo pkill -u 'username'