SIGHUP for reloading configuration

巧了我就是萌 提交于 2019-12-21 03:14:13

问题


According to signal(7), SIGHUP is used to detect hangup on controlling terminal or death of controlling process.

However, I have come across a lot of OSS daemons(services) where SIGHUP is used to initiate a reload of configuration. Here are a few examples: hostapd, sshd, snort etc.

Is this a standard(or a generally acceptable) way to implement a reload? If not, whats recommended?


回答1:


SIGHUP as a notification about terminal closing event doesn't make sense for a daemon, because deamons are detached from their terminal. So the system will never send this signal to them. Then it is common practice for daemons to use it for another meaning, typically reloading the daemon's configuration. This is not a rule, just kind of a convention. That's why it's not documented in the manpage.

See the wikipedia entry for SIGHUP and from there, a longer description with implementation example




回答2:


In my experience, SIGHUP is commonly used to request that a daemon reload its configuration. Using this well-known technique follows the principle of least surprise. Your users have likely encountered daemons which do exactly this, so they'll immediately understand what SIGHUP means to your daemon.



来源:https://stackoverflow.com/questions/19052354/sighup-for-reloading-configuration

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!