【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;
}

输出:

 

setitimer 函数

posted @ 2022-07-13 18:11  苏格拉底的落泪  阅读(166)  评论(0编辑  收藏  举报