【linux编程】alarm函数、setitimer 函数
alarm函数
1. 简介
设置定时器(闹钟)。在指定seconds后,内核会给当前进程发送 14)SIGALRM信号,进程收到信号后,默认动作终止。
每个进程都有且只有唯一个定时器。
2. alarm函数原型:
unsigned int alarm(unsigned int seconds);
- 常用:取消定时器alarm(0);返回剩余秒数。
- 例如:alarm(5) -> 3sec -> alarm(4) 返回2秒 -> 5sec -> alam(5) -> alam(0) 返回5秒
定时,与进程状态无关(自然定时法) !就绪、运行、挂起(阻塞、暂停)、终止、僵尸等等,无论进程处于何种状态,alarm都计时。
例1:编写程序,测试使用的计算机1秒钟能数多少个数
实际时间 = 系统时间 + 用户时间 + 等待时间
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
alarm(1);
for(int i = 0; ; ++i)
printf("%d\n", i);
return 0;
}
输出: