我使用:
signal(SIGINT, CtrlHandler);
如何添加 SIGINT
事件的处理程序?但是我该如何删除这个处理程序呢?
我使用:
signal(SIGINT, CtrlHandler);
如何添加 SIGINT
事件的处理程序?但是我该如何删除这个处理程序呢?
这是你要做的:
signal(SIGINT, SIG_DFL);
signal
的定义,它看起来像这样:sighandler_t signal(int signum, sighandler_t handler);
sighandler_t
。返回的 sighandler_t
表示信号的先前“处理方式”。因此,另一种处理方式是简单地保存它返回的值,然后在想要删除自己的处理程序时恢复该值。