首先介绍一下alarm函数
alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它向进程发送SIGALARM信号。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。
所需头文件
#include <unistd.h>
函数原型
unsigned int alarm(unsigned int seconds)
函数参数
seconds:指定秒数
函数返回值
成功:如果调用此alarm()前,进程已经设置了闹钟时间,则返回上一个闹钟时间的剩余时间,否则返回0.
出错:-1
再介绍一下signal函数
所需头文件: #include <signal.h>
功能:设置某一信号的对应动作
定义函数:void (*signal(int signum,void(*handler)(int)))(int);
或者: typedef void(*sig_t)(int);
sig_t signal(int signum,sig_t handler);
函数说明:signal()会依参数signum指定的信号编号来设置该信号的处理函数。当指定的信号到达时就会跳转到参数handler指定的函数执行。
如果参数handler不是函数指针,则必须是下列两个常数之一:
SIG_IGN 忽略参数signum指定的信号。
SIG_DFL 将参数signum 指定的信号重设为核心预设的信号处理方
式。
详细信号,查看unix信号编号
返回值 返回先前的信号处理函数指针,如果有错误则返回SIG_ERR(-1)。
下面就是一个自己写的小程序: