USR1亦一般被用來告知應用程序重載配置文件;例如,向Apache HTTP服務器發送一個USR1信號將致使如下步驟的發生:中止接受新的鏈接,等待當前鏈接中止,從新載入配置文件,從新打開日誌文件,重啓服務器,從而實現相對平滑的不關機的更改。php
在POSIX兼容的平臺上,SIGUSR1和SIGUSR2是發送給一個進程的信號,它表示了用戶定義的狀況。它們的符號常量在頭文件signal.h中定義。在不一樣的平臺上,信號的編號可能發生變化,所以須要使用符號名稱。linux
kill -HUP pid 或者 killall -HUP pName:
其中pid是進程標識,pName是進程的名稱
若是想要更改配置而不需中止並從新啓動服務,可使用上面兩個命令。在對配置文件做必要的更改後,發出該命令以動態更新服務配置。
根據約定,當你發送一個掛起信號(信號1或HUP)時,大多數服務器進程(全部經常使用的進程)都會進行復位操做並從新加載它們的配置文件。shell
-l 信號,若果不加信號的編號參數,則使用「-l」參數會列出所有的信號名稱 -a 當處理當前進程時,不限制命令名和進程號的對應關係 -p 指定kill 命令只打印相關進程的進程號,而不發送任何信號 -s 指定發送信號 -u 指定用戶
注意: 1、kill命令能夠帶信號號碼選項,也能夠不帶。若是沒有信號號碼,kill命令就會發出終止信號(15),這個信號能夠被進程捕獲,使得進程在退出以前能夠清理並釋放資源。也能夠用kill向進程發送特定的信號。例如: kill -2 123 它的效果等同於在前臺運行PID爲123的進程時按下Ctrl+C鍵。可是,普通用戶只能使用不帶signal參數的kill命令或最多使用-9信號。 2、應注意,信號使進程強行終止,這常會帶來一些反作用,如數據丟失或者終端沒法恢復到正常狀態。發送信號時必須當心,只有在萬不得已時,才用kill信號(9),由於進程不能首先捕獲它。
要撤銷全部的後臺做業,能夠輸入kill 0。由於有些在後臺運行的命令會啓動多個進程,跟蹤並找到全部要殺掉的進程的PID是件很麻煩的事。這時,使用kill 0來終止全部由當前shell啓動的進程,是個有效的方法。
說明:服務器
只有第9種信號(SIGKILL)才能夠無條件終止進程,其餘信號進程都有權利忽略。 下面是經常使用的信號:spa
HUP 1 終端斷線日誌
INT 2 中斷(同 Ctrl + C)code
QUIT 3 退出(同 Ctrl + \)blog
TERM 15 終止進程
KILL 9 強制終止ip
CONT 18 繼續(與STOP相反, fg/bg命令)
STOP 19 暫停(同 Ctrl + Z)
實例:殺死指定用戶全部進程
命令:
kill -9 $(ps -ef | grep peidalinux)
kill -u peidalinux
輸出:
[root@localhost ~]# kill -9 $(ps -ef | grep peidalinux)
[root@localhost ~]# kill -u peidalinux
說明:
方法一,過濾出hnlinux用戶進程並殺死