catch_singal.c
来自「中科院徐志伟老师一书《操作系统 原理·技术与编程》的源代码和习题接」· C语言 代码 · 共 30 行
C
30 行
#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 + =
减小字号Ctrl + -
显示快捷键?