SIGHUP用于重新加载配置

HAL*_*HAL 23 unix linux configuration signals reload

据此signal(7),SIGHUP用于检测控制终端上的挂断或控制过程的死亡.

但是,我遇到了很多OSS守护进程(服务),SIGHUP用于启动重新加载配置.这里有几个例子:hostapd,sshd,snort等.

这是实现重载的标准(或通常可接受的)方式吗?如果没有,推荐什么?

小智 30

作为关于终端关闭事件的通知的SIGHUP对于守护进程没有意义,因为守护进程与其终端分离.因此系统永远不会向他们发送此信号.然后,守护进程通常会将其用于其他含义,通常是重新加载守护进程的配置.这不是一个规则,只是一种惯例.这就是为什么它没有记录在联机帮助页中.

请参阅SIGHUP的维基百科条目, 并从那里获得更长的描述和实现示例


pbu*_*rka 5

根据我的经验,SIGHUP 通常用于请求守护程序重新加载其配置。使用这种众所周知的技术遵循最小意外原则。您的用户可能遇到过执行此操作的守护程序,因此他们会立即理解 SIGHUP 对您的守护程序意味着什么。