新风格的信号通信

#include "stdio.h"
#include "signal.h"

void sig_handler(int sig) {
    printf("接受到了%d号信号\n", sig);
}
void sig_action(int sig, siginfo_t *siginfo, void * restrict_) {
    // sig 信号编号
    // siginfo 信号信息
    // restrict_ 预留函数
    
    printf("接受到了%d号信号\n", sig);
}

int main(void) {
    // 实例化一个 sigaction 对象
    struct sigaction ac = {};
    // 旧风格处理函数
    // ac.sa_handler = sig_handler;
    // 新风格处理函数,新旧只能选一个
    ac.sa_sigaction = sig_action;
    // 用来接收之前的信号处理
    struct sigaction old_ac = {};
    sigaction(SIGINT, &z, &old_ac);
    for(;;);
    return 0;
}

 

posted on 2023-04-20 20:36  信奉上帝的小和尚  阅读(8)  评论(0编辑  收藏  举报

导航