一、fflush输出输入缓冲区里的内容
1 #include <stdio.h>
2 #include <signal.h>
3 //信号处理函数
4 void handler(int signum){
5 printf("signum %d...",signum);
6 fflush(stdout);
7 return ;
8
9 }
10 int main(void){
11 //signal(2,SIG_IGN);
12 signal(2,handler);
13 while(1){
14
15
16 };
17
18 return 0;
19 }
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^Csignum 2...^Csignum 2...^Csignum 2...^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$ 前面是ctrl+c 产生的,后面退出用ctrl+\ 退出
二、printf加\n,输出输入缓冲区里的内容
1 #include <stdio.h>
2 #include <signal.h>
3 //信号处理函数
4 void handler(int signum){
5 printf("signum %d...\n",signum);
6 // fflush(stdout);
7 return ;
8
9 }
10 int main(void){
11 //signal(2,SIG_IGN);
12 signal(2,handler);
13 while(1){
14
15
16 };
17
18 return 0;
19 }
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^Csignum 2...
^Csignum 2...
^Csignum 2...
^Csignum 2...
^Csignum 2...
^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$ 三、
1 #include <stdio.h>
2 #include <signal.h>
3 //信号处理函数
10 int main(void){
11 //signal(2,SIG_IGN);
13 while(1){
14
15
16 };
17
18 return 0;
19 }
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^C^C^C^C^C^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。