在Linux中,可以使用signal函數(shù)來捕獲和處理信號。具體來說,可以使用signal函數(shù)將SIGINT信號的處理函數(shù)設(shè)置為自定義的函數(shù)。下面是一個(gè)示例代碼來捕獲SIGINT信號:
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
// SIGINT信號處理函數(shù)
void sigint_handler(int sig) {
printf("Caught SIGINT signal, exiting...\n");
exit(0);
}
int main() {
// 設(shè)置SIGINT信號的處理函數(shù)為sigint_handler
signal(SIGINT, sigint_handler);
// 循環(huán)等待信號
while(1) {
// do something
}
return 0;
}
在上面的示例中,我們使用signal函數(shù)將SIGINT信號的處理函數(shù)設(shè)置為sigint_handler函數(shù)。當(dāng)程序接收到SIGINT信號時(shí),會執(zhí)行sigint_handler函數(shù),并在函數(shù)中打印一條消息后退出程序。