【发布时间】:2013-10-03 20:16:53
【问题描述】:
根据signal(7),SIGHUP用于检测控制终端挂断或控制进程死亡。
但是,我遇到了很多 OSS 守护进程(服务),其中 SIGHUP 用于启动重新加载配置。以下是一些示例:hostapd、sshd、snort 等。
这是实现重新加载的标准(或普遍接受的)方式吗?如果没有,有什么推荐的?
【问题讨论】:
标签: linux unix configuration signals reload
根据signal(7),SIGHUP用于检测控制终端挂断或控制进程死亡。
但是,我遇到了很多 OSS 守护进程(服务),其中 SIGHUP 用于启动重新加载配置。以下是一些示例:hostapd、sshd、snort 等。
这是实现重新加载的标准(或普遍接受的)方式吗?如果没有,有什么推荐的?
【问题讨论】:
标签: linux unix configuration signals reload
SIGHUP 作为关于终端关闭事件的通知对于守护进程没有意义,因为守护进程与它们的终端分离。所以系统永远不会向他们发送这个信号。 然后,守护进程将它用于另一种含义是常见的做法,通常是重新加载守护进程的配置。 这不是规则,只是一种约定。这就是为什么它没有记录在手册页中的原因。
查看SIGHUP 的维基百科条目 从那里,a longer description with implementation example
【讨论】:
根据我的经验,SIGHUP 通常用于请求守护程序重新加载其配置。使用这种众所周知的技术遵循最小意外原则。您的用户可能遇到过执行此操作的守护程序,因此他们会立即了解 SIGHUP 对您的守护程序意味着什么。
【讨论】: