是否可以从其他线程检查是否已调用信号功能? (即默认信号处理程序不是默认值) signal(SIGTERM,signal_handler);
答案 0 :(得分:2)
您始终可以通过signal()
或sigaction()
获取当前信号处理程序(它们在应用新处理程序之前返回上一个处理程序,请参阅mans)。
获得后,您可以将其与您想要的任何内容进行比较。例如。如果您正在谈论真正的默认信号处理程序,您可以将当前的一个与SIG_DFL
进行比较(或者您可能必须将处理程序设置为SIG_DFL
,然后再将其设置为另一个处理程序,存储与SIG_DFL
)相关的内容。