C语言alarm()函数(延时一段时间执行signal SIGALRM信号处理事件)

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言alarm()函数(延时一段时间执行signal SIGALRM信号处理事件)相关的知识,希望对你有一定的参考价值。

C语言alarm()函数:设置信号传送闹钟

  • 头文件:
#include <unistd.h>
  • 定义函数:
unsigned int alarm(unsigned int seconds);
  • 函数说明:alarm()用来设置信号SIGALRM 在经过参数seconds 指定的秒数后传送给目前的进程. 如果参数seconds 为0, 则之前设置的闹钟会被取消, 并将剩下的时间返回.

  • 返回值:返回之前闹钟的剩余秒数, 如果之前未设闹钟则返回0.

  • 实例

#include <unistd.h>
#include <signal.h>
void handler()

  printf("hello\\n");


main()

  int i;
  signal(SIGALRM, handler);
  alarm(5);
  for(i = 1; i < 7; i++)
  
    printf("sleep %d ...\\n", i);
    sleep(1);
  

在ubuntu上编译运行结果:

参考文章1:Linux 进程间通信 信号(signal)

参考文章2:C语言中的pause()函数和alarm()函数以及sleep()函数

以上是关于C语言alarm()函数(延时一段时间执行signal SIGALRM信号处理事件)的主要内容,如果未能解决你的问题,请参考以下文章

在C语言程序中,延时函数的时间是怎么算的?

c语言sleep的用法

android 开发中如何实现让程序执行一条语句后延时一段时间后再执行下面的语句

C语言for循环嵌套延时问题

c语言sleep用法是啥?

C语言中 delay 函数如何运用?