要在 C 中高效捕获 Ctrl-C 事件,最可靠的方法是利用 'sigaction'功能。它比简单的“信号”函数提供了更好的控制和兼容性。
实现 sigaction 需要结构化方法:
#include <signal.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> void my_handler(int s){ printf("Caught signal %d\n",s); exit(1); } int main(int argc,char** argv) { struct sigaction sigIntHandler; sigIntHandler.sa_handler = my_handler; sigemptyset(&sigIntHandler.sa_mask); sigIntHandler.sa_flags = 0; sigaction(SIGINT, &sigIntHandler, NULL); pause(); return 0; }
这种方法提供了一种强大的机制来处理 C 中的 Ctrl-C 事件,确保各种实现的可靠性和效率。
以上是如何在 C 中使用 `sigaction` 处理 Ctrl-C 事件?的详细内容。更多信息请关注PHP中文网其他相关文章!