⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 catch_singal.c

📁 中科院徐志伟老师一书《操作系统 原理·技术与编程》的源代码和习题接
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>

char *id = "SIGINT come from key interruption: intr = ^C\n";
int count=0;

static void catch_signal(int sig){
    ++count;
    write(1,id,strlen(id));
}

int main(int argc,char *argv[]){
    struct sigaction sa_oact;
    struct sigaction sa_nact;

    sa_nact.sa_handler = catch_signal;
    sa_nact.sa_flags = 0;
    sigemptyset(&sa_nact.sa_mask);
    sigaction(SIGINT,&sa_nact,&sa_oact);
    puts("Can you give me a signal? ");
    puts("Please press ctrl+c!");
    do {
	sleep(2);
     }while(count < 1);
    puts("ended");
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -