溫馨提示×

如何捕獲linux sigint信號

小樊
85
2024-07-17 21:32:49

在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ù)中打印一條消息后退出程序。

0