Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux進程終止命令大全:kill、killall、pkill、xkill 詳細用法

編輯:Linux 教學

Linux 提供多種終止進程工具,按 PID、進程名、圖形視窗、信號類型靈活選擇。本文系統整理 kill、killall、pkill、xkill 用法與進階技巧。

1. kill - 按 PID 發送信號


kill [信號] PID
# 常用信號
kill -TERM 1234   # 15 (預設),優雅終止,允許清理
kill -KILL 1234   # 9,強制立即終止,核心直接回收資源,不可捕捉
kill -STOP 1234   # 17/19/23,暫停 (SIGSTOP),不終止
kill -CONT 1234   # 18/25,繼續 (SIGCONT)
kill -HUP 1234    # 1,掛起,常用於通知守護程式重讀配置

查找 PID:ps aux | grep name、pgrep -f name、pidof name。

特殊用法:kill -9 -1 終止當前用戶擁有的所有進程 (慎用)。

2. killall - 按進程名稱終止所有匹配進程


killall [選項] 進程名
killall -9 firefox          # 強制殺死所有 firefox
killall -u user1 httpd      # 僅殺死 user1 擁有的 httpd
killall -i gnome-terminal   # 互動確認
killall -w httpd            # 等待所有進程真正退出
killall -r '^python'        # 正則匹配 (需支援)

注意:進程名長度 > 15 字元會被截斷匹配,加 -e 要求精確匹配。

3. pkill - 進階模式匹配終止


pkill [選項] 模式
pkill -9 firefox
pkill -u user1 -f 'python.*script.py'  # 完整命令列匹配
pkill -TERM -P 1234                    # 殺死 PID 1234 的所有子進程
pkill -STOP -x exact_name              # 精確匹配進程名
pkill -signal 15 pattern               # 信號可用名稱或數字

pkill 比 killall 更強大:支援完整命令列匹配 (-f)、父進程 ID (-P)、終端 (-t)、用戶 (-u)、群組 (-g) 等多維度過濾。

4. xkill - 圖形視窗點擊終止


xkill
# 滑鼠游標變「骷髏/十字架」,點擊任意視窗 → 該視窗連接的 X 客戶端收到 SIGTERM 並退出
# 右鍵或 Esc 取消

適用於視窗凍結無法正常關閉的圖形程式。僅能終止 X11 客戶端,Wayland 下需 wayland-kill 或 compositor 內建功能。

信號速查表

編號名稱動作可捕捉/阻塞
1SIGHUP掛起/重讀配置是
2SIGINTCtrl+C 中斷是
3SIGQUITCtrl+\ 退出並核心轉儲是
9SIGKILL強制終止否
15SIGTERM優雅終止 (預設)是
17/19/23SIGSTOP暫停否
18/25SIGCONT繼續否

最佳實踐

  1. 優先 SIGTERM (15) 給程式釋放資源、持久化狀態的機會。
  2. 等待合理時間 (如 5-10 秒) 仍存活,再 SIGKILL (9)。
  3. 使用 pkill -f 精準匹配命令列,避免誤殺同名無關進程。
  4. 腳本中捕捉 SIGTERM 執行清理:trap 'cleanup' TERM。
  5. 系統關機流程:SIGTERM 所有進程 → 等待 → SIGKILL 剩餘 → 同步檔案系統 → 關機。

精通進程終止工具,是 Linux 系統管理、開發除錯、自動化腳本編寫的基本功。

Copyright © Windows教程網 All Rights Reserved