歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在Linux系統中如何“謀殺”不需要的進程(三)

在Linux系統中如何“謀殺”不需要的進程(三)

日期:2017/2/25 10:37:47   编辑:Linux教程

  ◆注:

  KILLALL

  NAME (名稱)

  killall - 以名字方式來Linux操作系統殺死進程

  SYNOPSIS (總覽)

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

  killall -l

  killall -V

  DESCRIPTION (描述)

  killall 發送一條信號給所有運行任意指定命令的進程. 如果沒有指定信號名, 則發送SIGTERM.。

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

  如果命令名包括斜槓 (/), 那麼執行該特定文件的進程將被殺掉, 這與進程名無關。

  如果對於所列命令無進程可殺, 那麼 killall 會返回非零值. 如果對於每條命令至少殺死了一個進程, killall 返回 0。Killall 進程決不會殺死自己 (但是可以殺死其它 killall 進程)。

  OPTIONS (選項)

  -e對於很長的名字, 要求准確匹配. 如果一個命令名長於 15 個字符, 則可能不能用整個名字 (溢出了). 在這種情況下, killall 會殺死所有匹配名字前 15 個字符的所有進程. 有了 -e 選項,這樣的記錄將忽略. 如果同時指定了 -v 選項, killall 會針對每個忽略的記錄打印一條消息。

  -g殺死屬於該進程組的進程. kill 信號給每個組只發送一次, 即使同一進程組中包含多個進程。

  -i交互方式,在Linux操作系統殺死進程之前征求確認信息。

  -l列出所有已知的信號名。

  -q如果沒有進程殺死, 不會提出抱怨。

  -v報告信號是否成功發送。

  -V顯示版本信息。

  -w等待所有殺的進程死去. killall 會每秒檢查一次是否任何被殺的進程仍然存在, 僅當都死光後才返回. 注意: 如果信號被忽略或沒有起作用, 或者進程停留在僵屍狀態, killall 可能會永久等待。

  FILES(相關文件)

  /proc proc文件系統的存在位置。

  KNOWN bugS (已知 BUGS)

  以文件方式殺死只對那些在執行時一直打開的可執行文件起作用, 也即, 混雜的可執行文件不能夠通過這種方式殺死。

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

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

Copyright © Linux教程網 All Rights Reserved