首頁 > 程序管理 > killall

killall:按名稱終止行程

killall 命令會將訊號傳送至所有正在執行的指定名稱的行程。這對於一次終止特定應用程式或服務的所有實例非常有用。預設情況下,它會傳送 SIGTERM 訊號,但您也可以指定其他訊號。

概述

killall 是一個強大的工具,它允許您一次終止多個行程,而不是依賴行程 ID (PID)。由於它針對所有同名實例,因此在終止特定應用程式的所有視窗或背景服務時特別方便。

主要特點

  • 基於行程名稱的終止
  • 支援傳送各種訊號(預設為 SIGTERM)
  • 可根據使用者、時間等各種條件進行篩選
  • 一次處理多個實例

主要選項

killall 命令提供了各種選項,可讓您精確控制行程的終止方式和目標。

預設行為和訊號

行程篩選

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`killall` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

killall 命令的各種使用範例。

終止所有特定名稱的行程

killall firefox

終止 Firefox 網頁瀏覽器的所有實例。它會傳送預設訊號 SIGTERM(請求正常終止)。

使用特定訊號強制終止

killall -s SIGKILL chrome

使用 SIGKILL(強制終止)訊號終止 Chrome 網頁瀏覽器的所有實例。此訊號不會給行程處理清理工作的機會,因此應謹慎使用。

使用互動模式終止

killall -i sshd

在終止 sshd(SSH 守護程式)行程的每個實例之前,會提示使用者確認。輸入 'y' 將會終止。

終止特定使用者的行程

killall -u user1

終止使用者 'user1' 正在執行的所有行程。

等待行程終止

killall -w myapp

命令將等待目前正在執行的 'myapp' 行程完全終止。

安裝

killall 命令是大多數 Linux 發行版中 'psmisc' 套件的一部分,預設已安裝。如果您的系統上未安裝,您可以使用以下命令進行安裝。

Debian/Ubuntu

sudo apt update && sudo apt install psmisc

使用 APT 套件管理器安裝 psmisc 套件。

CentOS/RHEL/Fedora

sudo yum install psmisc
# 或
sudo dnf install psmisc

使用 YUM 或 DNF 套件管理器安裝 psmisc 套件。

提示與注意事項

使用 killall 命令時的實用提示和注意事項。

使用 SIGKILL (-9) 時的注意事項

SIGKILL(訊號編號 9)會強制立即終止行程,並且不會給行程處理開啟檔案或資料的機會。這可能會導致資料遺失或系統不穩定,因此應先嘗試其他訊號(例如 SIGTERM),僅在失敗時才作為最後手段使用。

  • **優先使用 SIGTERM(預設值)**:大多數應用程式在收到 SIGTERM 後會正常終止。
  • **僅在行程無回應時使用 SIGKILL 作為最後手段**

確認行程名稱正確

killall 使用精確的行程名稱。建議使用 `ps aux | grep <行程名稱>` 命令來確認您要終止的行程的確切名稱。

  • 範例:`ps aux | grep firefox`

killall 與 pkill 的區別

`killall` 基於精確的行程名稱進行匹配,而 `pkill` 可以使用正規表達式來匹配行程名稱,從而實現更靈活的搜尋和終止。

  • `killall`:精確名稱匹配(例如:`killall firefox`)
  • `pkill`:正規表達式匹配(例如:`pkill -f 'firef[o]x'`)
  • `pkill` 擴展了 `kill` 命令的功能,無需直接指定 PID。

終止系統行程時的注意事項

使用 `killall` 終止系統關鍵行程可能會導致系統不穩定或崩潰。特別是使用 `root` 權限執行時,更應格外小心。

  • 例如:切勿執行 `killall systemd`、`killall init` 等命令。

相同類別命令