Chinaunix首页 | 论坛 | 博客
  • 博客访问: 481458
  • 博文数量: 120
  • 博客积分: 1853
  • 博客等级: 上尉
  • 技术积分: 1177
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-22 22:40
文章分类

全部博文(120)

文章存档

2013年(16)

2012年(104)

分类: LINUX

2012-05-10 22:41:50

      signal里的一个SIGQUIT和SIGINT。根据apue的解释,ctl+c产生SIGINT,而ctl+\产生SIGQUIT。而经过实际实验,结果确实如此。
      环境:ubuntu 12.4 + gcc 4.6.3
     
      代码如下:

点击(此处)折叠或打开

  1. #include <signal.h>
  2. #include <stdio.h>
  3. #include <unistd.h>

  4. static void sig_int(int signo);

  5. int main(){
  6.     
  7.     signal(SIGINT, sig_int);
  8.     signal(SIGQUIT, sig_int);

  9.     pause();
  10.     pause();
  11.     
  12.     return 0;
  13. }

  14. static void sig_int(int signo){
  15.     if(signo == SIGQUIT){
  16.         printf("   sigquit not sigint\n");
  17.     }
  18.     if(signo == SIGINT){
  19.         printf("   sigquit not sigint\n");
  20.     }
  21. }

结果为:
^C   sigint not sigquit
^\    sigquit not sigint


阅读(8196) | 评论(0) | 转发(0) |
0

上一篇:原来struct里也能有函数

下一篇:signal (5)

给主人留下些什么吧!~~