Answers:
阅读其文档。那是唯一的方法。正如Keith所写的那样,SIGHUP的原始含义是用户失去了对该程序的访问权,因此交互式程序应该死亡。守护程序(不与用户直接交互的程序)不需要这种行为,而在收到SIGHUP时经常重新加载其配置文件。但是这些只是约定。
如果您有资料来源,也可以阅读。或者,如果您只有二进制文件,则可以尝试将其拆解,查找为sigaction
设置了信号处理程序的调用SIGHUP
,并尝试找出这些信号处理程序在做什么。首先安排不将SIGHUP发送到该程序会更容易。
在任何时间点,相对于特定信号,给定进程都处于三种状态之一:忽略它,执行默认操作或运行自定义处理程序。许多unice允许您使用来查看进程的信号掩码ps
,例如ps s
在Linux上。这可以告诉您进程是否忽略信号,或者将在SIGHUP上立即终止,但是如果进程设置了处理程序,则您将无法知道该处理程序的作用。