killall -
以名字方式來殺死程序
killall [
-egiqvw] [
-signal] name
...
killall -l
killall -V
killall
傳送一條訊號給所有執行任意指定命令的程序.
如果沒有指定訊號名,
則傳送 SIGTERM.
訊號可以以名字 (如
-HUP )
或者數字 (如
-1 )
的方式指定. 訊號 0
(檢查程序是否存在)只能以數字方式指定.
如果命令名包括斜槓 (
/),
那麼執行該特定檔案的程序將被殺掉,
這與程序名無關.
如果對於所列命令無程序可殺,
那麼
killall
會返回非零值.
如果對於每條命令至少殺死了一個程序,
killall 返回 0.
killall
程序決不會殺死自己
(但是可以殺死其它
killall 程序).
- -e
- 對於很長的名字,
要求準確匹配.
如果一個命令名長於
15 個字元,
則可能不能用整個名字
(溢位了).
在這種情況下, killall
會殺死所有匹配名字前
15 個字元的所有程序.
有了 -e
選項,這樣的記錄將忽略.
如果同時指定了 -v
選項, killall
會針對每個忽略的記錄列印一條訊息.
- -g
- 殺死屬於該程序組的程序.
kill
訊號給每個組只發送一次,
即使同一程序組中包含多個程序.
- -i
- 互動方式,在殺死程序之前徵求確認資訊.
- -l
- 列出所有已知的訊號名.
- -q
- 如果沒有程序殺死,
不會提出抱怨.
- -v
- 報告訊號是否成功傳送.
- -V
- 顯示版本資訊.
- -w
- 等待所有殺的程序死去.
killall
會每秒檢查一次是否任何被殺的程序仍然存在,
僅當都死光後才返回.
注意:
如果訊號被忽略或沒有起作用,
或者程序停留在殭屍狀態,
killall
可能會永久等待.
/proc proc檔案系統的存在位置
以檔案方式殺死只對那些在執行時一直開啟的可執行檔案起作用,
也即,
混雜的可執行檔案不能夠透過這種方式殺死.
要警告的是輸入
killall
name 可能不會在非 Linux
系統上產生預期的效果,
特別是特權使用者執行時要小心.
在兩次掃描的間隙,
如果程序消失了而被代之以一個有同樣
PID 的新程序,
killall -w
偵測不到.
Werner Almesberger <
[email protected]>
kill(1),
fuser(1),
pidof(1),
ps(1),
kill(2)
riser <[email protected]>
2001/08/08
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh