当我实现一个子进程来处理信号时,例如使用自定义信号处理程序来处理信号,例如 SIGTERM
和 SIGUSR1
,这将优雅地退出子进程,是否可以让父进程进程知道哪个信号导致退出? $?
的前 7 位设置为指示子进程死亡的信号。但是我不确定我们如何以编程方式设置它。调用 exit()
只会设置 ($? >> 8)
的值。
最佳答案
我的方法是:在信号处理程序中,卸载自定义信号处理程序并将信号操作更改为终止。然后在主控制流程中,包含重新发出相同信号的逻辑。
关于perl - 是否可以通过编程方式设置 $ 的前 7 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354741/