当一个进程接收到一个信号时,底层是什么?



我正在编写一个需要捕获ctrl-c事件的程序。我了解到我可以在signal.h中调用signal函数或sigaction函数来定制当进程接收到SIGINT信号时该做什么。但我也很好奇这种信号监听器的机制是什么。换句话说,进程如何在继续执行其代码的同时等待特定的信号?

进程不"等待";为了信号。调用sigaction()告诉操作系统,当进程接收到指定的信号时,强制进程采取指定的操作。当发生这种情况时,进程被中断并强制调用已注册的处理程序。

相关内容

最新更新