Linux 查看進程和終止進程SIGHUP介紹
你可以使用PID或者名稱,信號名稱或者號碼。那么為什么要這樣做而不使用/etc/init.d/foo命令重新啟動呢?使用它們自己的init(初始化)文件來控制服務是優(yōu)先選擇的方式,因為這些文件通常包含健全和錯誤檢查以及額外的功能。使用“kill”命令和信號的主要原因是盡可能明確地終止掛起和失控的進程,而不必重新啟動或者登出。
SIGHUP的發(fā)音是“sig-hup”,是signal hangup的縮寫,含義是“中止信號”。你如何發(fā)送一個SIGHUP信號呢?這里有幾種方式:
# kill -HUP [pid]
# killall -HUP [process-name]
# kill -1 [pid]
# killall -1 [process-name]
因此,你可以使用PID或者名稱,信號名稱或者號碼。那么為什么要這樣做而不使用/etc/init.d/foo命令重新啟動呢?使用它們自己的init(初始化)文件來控制服務是優(yōu)先選擇的方式,因為這些文件通常包含健全和錯誤檢查以及額外的功能。使用“kill”命令和信號的主要原因是盡可能明確地終止掛起和失控的進程,而不必重新啟動或者登出。
終止進程
正如你在關于信號的man page中所看到的,有十幾種控制進程的方法。下面是一些常用的方法:
kill -STOP [pid]
發(fā)送SIGS***7,19,23)停止一個進程,而并不消滅這個進程。
kill -CONT [pid]
發(fā)送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發(fā)送SIGKILL (9)強迫進程立即停止,并且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
SIGKILL和SIGSTOP信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的***武器。
Bash shell的Kil命令l
Bash外殼包含一個內置的kill命令,當執(zhí)行下面命令:
$ type -all kill
kill is a shell built-in
kill is /bin/kill
Linux 查看進程和終止進程SIGHUP命令的結果表明有兩個kill命令,一個是BASH的內置命令,另一個是/bin/kill可執(zhí)行程序。一般來說這兩個命令不太可能遇到?jīng)_突的情況,不過,如果你確實遇到了kill命令行為異常時,你可以明確的指定/bin/kill命令。
你一定要進一步查閱下面的資源中列出的參考資源來了解Linux中kill的妙用,因為這是你進入維護Linux系統(tǒng)領域的門票。這些知識能夠讓你像做外科手術一樣對系統(tǒng)進行維護,而不用在遇到問題時每一次都重新啟動系統(tǒng),就像我們知道的某些蹩腳的操作系統(tǒng)那樣。
Linux 查看進程和終止進程SIGHUP資源
Linux Cookbook一書的第七章“開始和終止Linux”
bash (1) - GNU Bourne-Again Shell
yes (1) - 在被終止前反復打印字符
signal (7) - 可用信號列表
ps (1) - 報告當前進程的快照
kill (1) - 向一個進程發(fā)出信號
killall (1) - 按名字消滅進程
pkill (1) - 根據(jù)名字和其它屬性查看或者發(fā)出進程信號
skill (1) - 發(fā)送一個信號或者報告進程狀態(tài)
xkill (1) - 按照X資源消滅一個客戶程序
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jbgtwang/archive/2009/01/08/3734881.aspx
【編輯推薦】