linux shell程式設計執行命令kill掉指定名稱的程序
阿新 • • 發佈:2019-02-02
在linux開發中我們時常會遇到對於之前程序kill掉,然後再運行當前程序或程式的情況,此時我們是不知道需要kill的程序號的,那麼就需要通過一個shell命令組合來實現這個需求,如下命令就可以實現:
命令:ps -efww | grep -w 'nameprocess' | grep -v grep | cut -c 1-5 | xargs kill -9
說明:管道符“|”用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
“ps -efww”是檢視所有程序的命令。這時檢索出的程序將作為下一條命令“grep“的輸入,注意要結束其它程式時,請將上面命令中的nameprocess替換成其它程式名,-w 'nameprocess' 強制 PATTERN 僅完全匹配字詞。
“grep -v grep”是在列出的程序中去除含有關鍵字“grep”的程序。
“cut -c 1-5”是擷取輸入行的第1個字元到第5個字元,而這正好是程序號PID,或者根據自己實際的情況可以調整字元的擷取位置。
“xargs kill -9”中的xargs命令是用來把前面命令的輸出結果(PID)作為“kill -9”命令的引數,並執行該命令。
“kill -9”會強行殺掉指定程序,這樣就成功清除了同名程序。