太長不看版:
匹配方式 | 模糊匹配 | 精確匹配 |
---|---|---|
匹配命令 | pgrep | pidof |
kill命令 | kill -9 $(pgrep <proc-name> ) |
kill -9 $(pidof <proc-name> ) |
組合命令 | pkill -9 <proc-name> |
killall -9 <proc-name> |
以下是正文
按照名字殺死程式的四種方法
根據名字殺死程式的需求來自於同時殺死一組程式,如MPI程式的程式。殺死單個程式只需要top
或者ps
命令找到程式然後直接kill -9 <pid>
就可以了。
要使用kill命令殺死程式,首先需要找出程式的pid。根據程式名稱查詢pid,有精確匹配和模糊匹配兩種方式:
pidof
精確匹配找出程式pidpgrep
模糊匹配找出程式pid
得到精確程式名的方法參照殺死單個程式的辦法,使用top
或者ps
命令。
拿到一組程式pid之後可以使用kill命令批量殺死:
kill -9 $(pidof <proc-name>)
精確匹配殺死程式kill -9 $(pgrep <proc-name>)
模糊匹配殺死程式
有兩個命令,分別相當於kill
和pidof
或者pgrep
命令的組合:
killall -9 <proc-name>
相當於pidof+killpkill -9 <proc-name>
相當於pgrep+kill
這裡用到的-9
實際上指的是傳送SIGKILL
訊號給程式,這是一種比較強力的結束訊號,預設的是-15
也就是SIGTERM
訊號。