根據程序名稱殺死程序
阿新 • • 發佈:2018-12-03
ps -ef | grep keyword | grep -v grep | awk '{print $2}' | xargs kill -9
逐個分析:
1, ps -ef | grep keyword: 查出程序名含有 keyword 的所有程序;
2, grep -v grep: 從這些結果裡面,把含有 grep 的關鍵詞的程序去除掉, -v 就是去除的意思;
3, awk 'print $2': 就是將結果的第二列的資訊打印出來;
4, xargs kill -9: xargs是將它前面命令的結果作為引數,傳遞給xargs後面的命令。
我們來看看前面的命令的第二列會輸出什麼資訊。
ps -ef | grep php-fpm | grep -v grep
root 1625 1 0 10月11 ? 00:00:16 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
www-data 2096 1625 0 10月11 ? 00:00:00 php-fpm: pool www
www-data 2098 1625 0 10月11 ? 00:00:00 php-fpm: pool www
從左到右的欄位分別是
UID PID PPID C STIME TTY TIME CMD
UID :程式被該 UID 所擁有
PID :就是這個程式的 ID
PPID :則是其上級父程式的ID
C :CPU使用的資源百分比
STIME :系統啟動時間
TTY :登入者的終端機位置
TIME :使用掉的CPU時間。
CMD :所下達的是什麼指令
第二列就是PID,程序ID。
kill -9就是強制殺死,後面的引數就是PID。
這就是一個根據程序名稱殺死程序的Linux命令。