【发布时间】:2021-12-04 11:10:22
【问题描述】:
当我深入研究 C 中的 SIGNAL 时,我想知道是否有可能在收到 SIGINT 信号时保持父进程处于活动状态,但我在网上研究时感到有些困惑,因为他们对此没有太多讨论。
是否可以使用信号处理程序通过忽略父进程的 SIGINT 信号来保持父进程处于活动状态。
如果是,我应该如何实现?
【问题讨论】:
-
忽略 SIGINT 最好通过
sigaction调用而不是signal调用来实现(使用 SIG_IGN)Ubuntu 20.4 上的信号手册页这样说:The behavior of signal() varies across UNIX versions, and has also varied historically across different versions of Linux. Avoid its use: use sigaction(2) instead.