如果我们注册如下信号,这会覆盖另一个注册信号处理程序,那最后一个获胜吗?如果是这样,是否有办法允许每个信号超过1。
signal(SIGABRT, SignalHandler);
答案 0 :(得分:1)
都能跟得上;每个信号只能有一个信号处理程序。
另请注意,尝试在信号处理程序中执行任何操作都是不可能的。你不能进行任何系统调用,不能真正分配内存,也不能使用Objective-C。
同样,试图抓住SIGABRT是徒劳的。到发送时,它表明您的应用程序很好地进入了杂草。试图从这种状态中恢复过来充满了脆弱。
你想做什么?