Linux定时函数使用

具体数据结构和用法可以man setitimer查询,很简单易懂的一段英文,应该没什么难度,下面是我联系的一个小例子:

[color=blue]#include[/color] [color=red]<stdio.h>[/color]
[color=blue]#include[/color] [color=red]<stdlib.h>[/color]
[color=blue]#include[/color] [color=red]<sys/time.h>[/color]
[color=blue]#include[/color] [color=red]<signal.h>[/color]
[color=blue]#include[/color] [color=red]<string.h>[/color]

[color=green]int[/color] main()
{
[color=green]void[/color] countdown([color=green]int[/color]);
signal([color=red]SIGALRM[/color], countdown);

[color=green]struct[/color] itimerval new_timeset;
memset(&new_timeset, [color=red]0[/color], [color=brown]sizeof[/color](new_timeset));

new_timeset.it_interval.tv_sec = [color=red]1L[/color];
new_timeset.it_interval.tv_usec = [color=red]0L[/color];

new_timeset.it_value.tv_sec = [color=red]2L[/color];
new_timeset.it_value.tv_usec = [color=red]0L[/color];

[color=brown]if[/color](setitimer(ITIMER_REAL, &new_timeset, [color=red]NULL[/color]) == -[color=red]1[/color])
perror([color=red]"set timer"[/color]);
[color=brown]else[/color]
[color=brown]while[/color](1)
pause();
[color=brown]return[/color] 0;
}

[color=green]void[/color] countdown([color=green]int[/color] signum)
{
[color=green]static int[/color] num = [color=red]10[/color];
printf([color=red]"[/color][color=violet]%d[/color][color=red].."[/color], num--);
fflush([color=red]stdout[/color]);
[color=brown]if[/color](num < 0)
{
printf([color=red]"DONE!\n"[/color]);
exit([color=red]0[/color]);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值