信号signal()函数有关代码

本文介绍了一个使用C语言实现的信号处理程序实例。该程序演示了如何通过注册信号处理函数来响应特定信号(如SIGALRM),并在接收到信号时执行特定操作(如发送SIGKILL)。此外,还展示了如何忽略某些信号(如SIGINT)以及使用闹钟函数alarm来设置定时器。
/*************************************************************************
	> File Name: signal.c
	> Author: 
	> Mail: 
	> Created Time: 2018年06月08日 星期五 20时10分00秒
 ************************************************************************/

#include<stdio.h>
#include<unistd.h>
#include<signal.h>

void handler(int sig)
{
    if(SIGALRM == sig)
    {
        printf("get signal alarm\r\n");
        raise(SIGKILL);    //对程序发送指定的信号,这里是发送的杀死信号的指令;
    }
}
int main()
{
    signal(SIGINT,SIG_IGN);
    signal(SIGALRM,handler);
    alarm(4);    //闹钟函数   参数是时间,秒为单位
    printf("after alarm 4s\t\n");
    pause();   //pause函数会让目前的进程暂停(进入睡眠状态;一直到被信号中断
    while(1);
    printf("after pause\r\n");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值