MST
星途 面试题库

面试题:C语言中信号处理函数基本使用

在C语言中,假设你要处理SIGINT信号(通常由Ctrl+C产生),请编写一段代码示例,使用signal函数来注册一个信号处理函数,当接收到SIGINT信号时,打印出'Caught SIGINT signal!'。
28.2万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>
#include <signal.h>

// 信号处理函数
void sigint_handler(int signum) {
    printf("Caught SIGINT signal!\n");
}

int main() {
    // 注册SIGINT信号处理函数
    if (signal(SIGINT, sigint_handler) == SIG_ERR) {
        perror("signal");
        return 1;
    }

    printf("Press Ctrl+C to generate SIGINT...\n");
    while (1) {
        // 主循环,等待信号
    }

    return 0;
}