kill
kill 用於結束執行中的程序。
kill 可發送指定的信號到相應進程。不指定信號將發送SIGTERM(15)終止指定進程。若仍無法終止該程序可用“-KILL” 參數,其發送的信號為SIGKILL(9) ,將強制結束進程,使用ps命令或者jobs 命令可以查看進程號。root用戶將影響所有用戶的進程,非root用戶只能影響自己的進程。
語法
kill [參數] [進程號]
參數說明:
-
-l 信號,若果不加信號的編號參數,則使用“-l”參數會列出全部的信號名稱
-
-a 當處理當前進程時,不限制命令名和進程號的對應關系
-
-p 指定 kill 命令只打印相關進程的進程號,而不發送任何信號
-
-s 指定發送信號
-
-u 指定用戶
使用 kill -l 命令列出所有可用信號。最常用的信號:
- 1 (HUP):重新加載進程
- 9 (KILL):殺死一個進程
- 15 (TERM):正常停止一個進程
實例
殺死進程
kill 6780
強制殺死進程
kill -KILL 6780
發送SIGHUP信號,可以使用一下信號
kill -HUP pid
徹底殺死進程
kill -9 6780
顯示信號
kill -l
只有第9種信號(SIGKILL)才可以無條件終止進程,其他信號進程都有權利忽略。常用的信號:
| 信號 | 信號的數值 | 說明 |
|---|---|---|
| HUP | 1 | 終端斷線 |
| INT | 2 | 中斷(同 Ctrl + C) |
| QUIT | 3 | 退出(同 Ctrl + \) |
| TERM | 15 | 終止 |
| KILL | 9 | 強制終止 |
| CONT | 18 | 繼續(與STOP相反, fg/bg命令) |
| STOP | 19 | 暫停(同 Ctrl + Z) |
殺死指定用戶所有進程
kill -9 $(ps -ef | grep hnlinux) //方法一 過濾出hnlinux用戶進程
kill -u hnlinux //方法二
