DOKK / manpages / debian 12 / manpages-zh / killall.1.zh_TW
KILLALL(1) User KILLALL(1)

killall - 以名字方式來殺死程序

killall [-egiqvw] [-signal] name ...
killall -l
killall -V

killall 傳送一條訊號給所有執行任意指定命令的程序. 如果沒有指定訊號名, 則傳送 SIGTERM.

訊號可以以名字 (如 -HUP ) 或者數字 (如 -1 ) 的方式指定. 訊號 0 (檢查程序是否存在)只能以數字方式指定.

如果命令名包括斜槓 (/), 那麼執行該特定檔案的程序將被殺掉, 這與程序名無關.

如果對於所列命令無程序可殺, 那麼 killall 會返回非零值. 如果對於每條命令至少殺死了一個程序, killall 返回 0.

killall 程序決不會殺死自己 (但是可以殺死其它 killall 程序).

對於很長的名字, 要求準確匹配. 如果一個命令名長於 15 個字元, 則可能不能用整個名字 (溢位了). 在這種情況下, killall 會殺死所有匹配名字前 15 個字元的所有程序. 有了 -e 選項,這樣的記錄將忽略. 如果同時指定了 -v 選項, killall 會針對每個忽略的記錄列印一條訊息.
殺死屬於該程序組的程序. kill 訊號給每個組只發送一次, 即使同一程序組中包含多個程序.
互動方式,在殺死程序之前徵求確認資訊.
列出所有已知的訊號名.
如果沒有程序殺死, 不會提出抱怨.
報告訊號是否成功傳送.
顯示版本資訊.
等待所有殺的程序死去. killall 會每秒檢查一次是否任何被殺的程序仍然存在, 僅當都死光後才返回. 注意: 如果訊號被忽略或沒有起作用, 或者程序停留在殭屍狀態, killall 可能會永久等待.

/proc   proc檔案系統的存在位置

以檔案方式殺死只對那些在執行時一直開啟的可執行檔案起作用, 也即, 混雜的可執行檔案不能夠透過這種方式殺死.

要警告的是輸入 killall name 可能不會在非 Linux 系統上產生預期的效果, 特別是特權使用者執行時要小心.

在兩次掃描的間隙, 如果程序消失了而被代之以一個有同樣 PID 的新程序, killall -w 偵測不到.

Werner Almesberger <Werner.Almesberger@epfl.ch>

kill(1), fuser(1), pidof(1), ps(1), kill(2)

riser <boomer@ccidnet.com>

2001/08/08

《中國linux論壇man手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

1999年9月7日 Linux