要在 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中文網其他相關文章!