是否有除SIGINFO
以外没有默认 Action 的信号。这link表明即使 SIGPWR
默认的操作也是终止进程。我的要求是仅当存在自定义信号处理程序时才处理信号,否则忽略该信号。
最佳答案
有关所有信号及其默认配置的列表,请参见 man 7 signal
。目前我认为这些默认情况下被忽略:
Signal Value Action Comment
──────────────────────────────────────────────────────────────
SIGCHLD 20,17,18 Ign Child stopped or terminated
SIGURG 16,23,21 Ign Urgent condition on socket (4.2BSD)
SIGWINCH 28,28,20 Ign Window resize signal (4.3BSD, Sun)
如您所见,选择确实不多。我想说的是,如果您确定没有子进程,SIGCHLD
可能没问题,或者如果您确定没有可能发出信号的套接字,则 SIGURG
那样。最后,SIGWINCH
仅在您确定您的程序没有可调整大小的控制终端时才适用。
关于linux - 除了 SIGINFO 之外没有任何默认操作的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859391/