Chinaunix首页 | 论坛 | 博客
  • 博客访问: 653794
  • 博文数量: 121
  • 博客积分: 4034
  • 博客等级: 上校
  • 技术积分: 1439
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-28 12:42
文章分类

全部博文(121)

文章存档

2017年(8)

2016年(10)

2013年(2)

2012年(3)

2011年(18)

2010年(80)

分类: LINUX

2010-10-21 23:07:50

接受处理killall信号


#include
#include
#include
void sigroutine(int dunno) { /* 信号处理例程,其中dunno将会得到信号的值 */
    switch (dunno) {
        case 1:
            printf("Get a signal -- SIGHUP \n");
            break;
        case 2:
            printf("Get a signal -- SIGINT \n");
            break;
        case 3:
            printf("Get a signal -- SIGQUIT \n");
            break;
        case 6:
            printf("Get a signal -- SIGABRT \n");
            break;
        case 9:
            printf("Get a signal -- SIGKILL \n");
            break;
        case 15:
            printf("Get a signal -- SIGTERM \n");
            signal(SIGTERM, SIG_DFL);
            break;
    }
    return;
}

int main()
{
    printf("process id is %d ",getpid());
    signal(SIGHUP, sigroutine); //* 下面设置三个信号的处理方法
    signal(SIGINT, sigroutine);
    signal(SIGQUIT, sigroutine);
    signal(SIGABRT, sigroutine);
    signal(SIGKILL, sigroutine);
    signal(SIGTERM, sigroutine);
    for (;;)
        sleep(10);
}

阅读(2122) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~