Linux 結束進程
前面小節介紹了如何啟動一個程序進程,還介紹了如何查看系統進程信息,本小節來介紹如何通過 kill 命令結束進程。
1. Linux 進程信號介紹
下面列舉出 Linux 進程信號的描述:
| 信號 | 名稱 | 描述 |
|---|---|---|
| 1 | HUP | 掛起 |
| 2 | INT | 中斷 |
| 3 | QUIT | 結束運行 |
| 9 | KILL | 無條件終止 |
| 11 | SEGV | 段錯誤 |
| 15 | TERM | 盡可能終止 |
| 17 | STOP | 無條件停止運行,但不終止 |
| 18 | TSTP | 停止或暫停,但繼續在后臺運行 |
| 19 | CONT | 在 STOP 或 TSTP 之后恢復執行 |
2. 查看進程的 PID
這里還是以之前啟動的 nginx 進程為例,使用 ps 查看 nginx 命令如下:
ps -ef | grep nginx
執行結果如下圖:

Tips:如圖所示,可以看到有三條
nginx相關信息信息,其中 PID 為12512這一列表示的是當前打開窗口的進程,12471和12472這兩個 PID 無法直接判斷是否是之前啟動nginx服務的 PID,下面可以使用端口號去確認進程 PID。
3. 端口號概念
所謂的端口,就好像是門牌號一樣,客戶端可以通過 ip 地址找到對應的服務器端,但是服務器端是有很多端口的,每個應用程序對應一個端口號,通過類似門牌號的端口號,客戶端才能真正的訪問到該服務器。為了對端口進行區分,將每個端口進行了編號,這就是端口號 。
4. 通過進程 PID 查找端口號
nginx 軟件服務啟動之后默認的端口號是 80,可以使用如下命通過 PID 查找到端口號,命令如下:
netstat -apn | grep 12471
執行結果如下:

Tips:如圖所示,可以知道進程
PID = 12471這個進程符合nginx啟動的端口號。
4. kill 結束進程
前面查找到進程的 PID 之后,可以使用 kill 命令殺死進程,命令如下:
kill -9 12471
ps -ef | grep nginx
執行結果如下圖:

Tips:從圖中可以看到,使用
kill -9命令之后,可以殺掉PID = 12471這個進程,12472屬于12471的子進程,所以也會被一起殺掉,從前面的表中可以看到-9表示無條件終止。
5. killall 結束進程
killall 命令可以直接通過進程相關的名稱來結束進程,先啟動 nginx 服務之后,然后使用 killall 殺掉 nginx 相關的進程,命令如下:
service nginx start
ps -ef | grep nginx
killall nginx
ps -ef | grep nginx
執行結果如下圖:

Tips:實際業務中
killall使用時需要謹慎,防止root權限誤操作誤殺其他進程。
6. 小結
本小節介紹了進程通信信號描述,介紹了如何使用 ps 命令查看進程的 PID,還介紹了如何使用 kill 和 killall 結束進程,其中 kill 是通過進程的 PID 來結束掉進程的,killall 可以通過進程名稱來結束掉進程,另外還介紹了如何使用 PID 去查找該應用程序占用的端口號。
愛因詩賢 ·
2025 imooc.com All Rights Reserved |