我想用 perl 编写一个健壮的守护进程,它将在 Linux 上运行,并且遵循所描述的模板在这个优秀的答案中 https://stackoverflow.com/questions/766397/how-can-i-run-a-perl-script-as-a-system-daemon-in-linux。然而,我的情况有一些不同:首先我使用并行::ForkManager http://search.cpan.org/perldoc?Parallel::ForkManager start() and next
;立即分叉一个事件exec('handle_event.pl')
在这种情况下,我有以下问题:
- 我应该在哪里定义我的信号处理程序。我应该在父级(守护进程)中定义它们并假设它们将在子级中继承吗?
- 如果我跑
exec('handle_event.pl')
处理程序是否会在 exec 中继承(我知道它们是在 exec 中继承的)fork
)?
- 如果我重新定义一个新的信号处理程序
handle_event.pl
该定义会覆盖父级中定义的定义吗?
- 在这种情况下,最佳做法是什么?
谢谢
当您分叉时,子进程具有与父进程相同的信号处理程序。当您执行时,任何被忽略的信号仍然被忽略;任何已处理的信号都会重置回默认处理程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)