2013-09-27 25 views
12

根據signal(7),SIGHUP用於檢測控制終端掛起或控制進程死亡。SIGHUP用於重新加載配置

但是,我遇到了很多OSS守護進程(服務),其中SIGHUP用於啓動重新加載配置。這裏有幾個例子:hostapd,sshd,snort

這是一個標準(或普遍接受)的方式來實現重新加載?如果沒有,建議什麼?

回答

18

SIGHUP作爲關於終端關閉事件的通知對守護進程沒有意義,因爲守護進程從終端分離。所以系統永遠不會發送這個信號給他們。 然後,守護進程通常會將其用於其他含義,通常是重新加載守護進程的配置。 這不是一個規則,只是一種慣例。這就是爲什麼它沒有記錄在手冊頁中。

SIGHUP ,並從那裏的維基百科條目,a longer description with implementation example

3

根據我的經驗,SIGHUP通常用於請求守護進程重新加載其配置。使用這種衆所周知的技術遵循最少驚喜的原則。你的用戶很可能遇到了這樣的守護進程,所以他們會立即明白SIGHUP對你的守護進程意味着什麼。