除了SIGINFO
之外,是否有任何没有默认操作的信号。此link表示即使SIGPWR
默认操作也是终止该过程。我的要求是仅在存在自定义信号处理程序时处理信号,否则忽略该信号。
答案 0 :(得分:0)
请参阅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
才适用。