linux – 注销时后台进程是否获得SIGHUP?
|
这是 this question的后续行动. 我做了一些测试;看起来如果这是在物理控制台或通过SSH完成并不重要,这也不仅仅发生在SCP上;我还用cat / dev / zero>测试了它.的/ dev / null的.行为完全相同: >使用&在后台开始一个过程(或者在使用CTRL-Z和bg开始后将其置于后台);这是在不使用nohup的情况下完成的. 如果发送SIGHUP,我可以确认SCP和CAT立即退出;我用kill -HUP测试了这个. 因此,看起来SoughUP在注销时不会被发送,至少对于后台进程(由于显而易见的原因无法使用前台进程进行测试). 这最初发生在VMware ESX 3.5的服务控制台(基于RedHat)上,但我能够在CentOS 5.4上完全复制它. 问题是,再次:在注销时,即使它们在后台运行,也不应该向进程发送SIGHUP?为什么这不会发生? 编辑 根据凯尔的回答,我用strace检查过. 解决方法找到答案.对于BASH,这取决于huponexit shell选项,可以使用内置shopt命令查看和/或设置该选项. 默认情况下,此选项看起来是关闭的,至少在基于RedHat的系统上是这样. 有关BASH man page的更多信息:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
