4
注销时后台进程是否获得SIGHUP?
这是该问题的后续措施。 我还要进行一些测试;看起来这是在物理控制台还是通过SSH进行都没关系,仅SCP也不发生这种情况。我也用进行了测试cat /dev/zero > /dev/null。行为是完全相同的: 使用在后台启动进程&(或在开始使用后将其置于后台CTRL-Z和bg);这无需使用即可nohup完成。 注销。 重新登录。 该过程仍然存在,愉快地运行,现在是 init。 我可以确认SCP和CAT在发送了 SIGHUP;我使用进行了测试kill -HUP。 所以,看起来SIGHUP确实是 不会在注销时发送,至少不会发送到后台进程(出于显而易见的原因,不能使用前台进程进行测试)。 最初,这是通过VMware ESX 3.5(基于RedHat)的服务控制台发生的,但是我能够在CentOS 5.4上完全复制它。 问题又是:注销时是否不将SIGHUP发送到进程,即使它们在后台运行?为什么这没有发生? 编辑 strace根据Kyle的回答,我检查了。 正如我所期望的,从启动它的外壳注销时,该过程没有任何信号。在使用服务器控制台和通过SSH时都会发生这种情况。