当前位置:首页>开发>正文

linux下C语言定时器(求高人指点) 在linux C编程中,定时器函数选择与设置问题

2023-04-14 02:48:41 互联网 未知 开发

 linux下C语言定时器(求高人指点) 在linux C编程中,定时器函数选择与设置问题

linux下C语言定时器(求高人指点)

可以用alarm信号做:

alarm(设置信号传送闹钟)
相关函数 signal,sleep

表头文件 #include

定义函数 unsigned int alarm(unsigned int seconds)

函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。

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

#include
#include
void handler() {
//这里读跳变次数
}
main()
{
int i
signal(SIGALRM,handler)//这里设置时钟信号的响应函数
alarm(1) //这里设置每一秒钟发送一个时钟信号
}

在linux C编程中,定时器函数选择与设置问题

试试alarm()与signal(),例子可以网上搜搜

NAME
alarm - set an alarm clock for delivery of a signal

SYNOPSIS
#include

unsigned int alarm(unsigned int seconds)

DESCRIPTION
alarm() arranges for a SIGALRM signal to be delivered to the calling process in seconds seconds.

If seconds is zero, no new alarm() is scheduled.

In any event any previously set alarm() is canceled.

Linux下的定时器,怎么用

数为秒数,在经过指定秒数后,alarm会发出一个SIGALRM信号
singal函数用来绑定信号处理器函数,这里绑定的是timer,被绑定的函数必须固定为返回值void、参数int.
只需要alarm(时间)就设置了,可能由于getchar需要进入中断导致信号被挂起所以没反应,可以试试把getchar换成别的东西来延时看看。关于更多学习内容,请到《linux就该这么学》。

最新文章