写程序时经常有让程序运行几秒后退出这种需求,就需要用到定时器,个人常用的是alarm定时器,方便好用。
函数原型
unsigned int alarm(unsigned int seconds);seconds为指定秒数
所需头文件
#include<unistd.h>
- 一个进程只能使用一个alarm闹钟,有多个alarm闹钟时,闹钟时间会更新为最后一个定时器所指定的秒数时间。
- alarm(0);可以用来取消闹钟
- 可以在程序里直接使用alarm函数,到时会默认终止进程,本人使用Ubuntu运行,结束时终端会打印“闹钟”
- 不默认结束退出,可以修改信号并绑定函数,需要用到signal函数。
signal函数需要头文件#include<signal.h>
给个例子,三秒后打印输出并退出
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<signal.h>
void sig_alarm()
{
printf("alarm\n");
exit(0);
}
int main()
{
signal(SIGALRM,sig_alarm);
alarm(3);
while(1);
return 0;
}