概述
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` 等命令。