`
sunting_bcwl
  • 浏览: 94194 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux定时函数使用

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

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <signal.h>
#include <string.h>

int main()
{
    void countdown(int);
    signal(SIGALRM, countdown);

    struct itimerval new_timeset;
    memset(&new_timeset, 0, sizeof(new_timeset));
   
    new_timeset.it_interval.tv_sec = 1L;
    new_timeset.it_interval.tv_usec = 0L;
   
    new_timeset.it_value.tv_sec = 2L;
    new_timeset.it_value.tv_usec = 0L;

    if(setitimer(ITIMER_REAL, &new_timeset, NULL) == -1)
        perror("set timer");
    else
        while(1)
            pause();
    return 0;
}

void countdown(int signum)
{
    static int num = 10;
    printf("%d..", num--);
    fflush(stdout);
    if(num < 0)
    {
        printf("DONE!\n");
        exit(0);
    }
}
分享到:
评论

相关推荐

    Linux下精确到微秒级的时间操作函数

    Linux下对时间进行运算,如果是到秒级的,一般是用time之类的函数实现。文中介绍了Linux下精确到微秒级的时间操作函数。主要是用到了gettimeofday函数,并且介绍了这个函数的结构。

    浅谈linux几种定时函数的使用

    下面小编就为大家带来一篇浅谈linux几种定时函数的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    linux下多定时器+线程池的实现(经典)

    //linux只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理 // //这个实现允许用户使用多个自定义的定时器,每个自定义的定时器将周期地被触发直到其被删除。实现的主要思路...

    Linux之时钟中断详解

    在Linux的0号中断是一个定时器中断。...Linux的OS时钟的物理产生原因是可编程定时/计数器产生的输出脉冲,这个脉冲送入CPU,就可以引发一个中断请求信号,我们就把它叫做时钟中断。 “时钟中断”是特

    详解Linux内核进程调度函数schedule()的触发和执行时机

    内核的调度操作分为触发和执行两个部分,触发时仅仅设置一下当前进程的TIF_NEED_RESCHED...定时中断处理函数中会调用schedule_tick()用于处理关于调度的周期性检查和处理,其调用路径是和时钟处理有关的tick_periodic

    实验四Linux中断与异常编程技术

    一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,使用alarm定时发出一个信号,还有那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种...

    基于Linux定时器管理器

    定时器管理器,添加定时器定时处理函数,删除定时器。

    Linux下C语言 定时器

    linux 下使用红黑树实现的多线程定时器, 定时回调对应的回调函数,定时单位为毫秒。

    LINUX操作系统(电子教案,参考答案)

    芬兰青年Linus Torvalds和其杰作的传奇故事吸引了无数的电脑爱好者尝试去使用Linux,但他们中的大多数人却被Unix类操作系统传统的枯燥的字符界面、艰涩难懂的操作命令和数量庞大的基本概念以及基础知识所吓退。Linux...

    Linux系统中守护进程的创建方法.pdf

    在 Linux 中,守护进程可以使用 C 语言编程来实现,通过 fork 和 setsid 函数来创建守护进程。 fork 函数创建一个新进程,而 setsid 函数将进程从其父进程中分离出来,使其成为一个独立的会话期。同时,守护进程也...

    Python脚本定时发送微信文件

    任务简述:使用Python自动化程序,把file.txt在早上6点准时拖动到微信并发送。 0 准备 首先需要考虑的是如何通过Python模拟鼠标操作。在此我货比三家: module stars latest commit Pyuserinput 903 2016.2.26...

    定时器,linux Windos

    在Linux和Windows上的定时器,可以每隔多少秒定时调用一个函数。

    PHPCMS定时自动采集

    --&gt; 修改了showmessage函数 phpcms/modules/admin/classes/admin.class.php --&gt;新增了check_shell方法 --&gt;修改了get_siteid方法 对采集模块的改动: 1、新增了正则表达式匹配功能 2、单一网页采集增加了可重复...

    linux使用select实现精确定时器详解

    首先看看select函数原型如下: 代码如下:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);参数说明:slect的第一个参数nfds为fdset集合中最大描述符值加1,...

    linux大作业报告

    7、Linux系统提供了alarm( )和setitimer( )系统调用作为定时器的功能,要求用户使用这两个函数设计程序,让程序每隔一秒发出一个SIGALRM信号,每隔0.5秒发出一个SIGVTALRM信号。 8、编写程序,在主进程中创建一个子...

    Linux c setitimer使用方法说明

    可用来实现延时和定时的功能,网上有各种零零散散的使用方法说明,都仅仅提到了个别使用方法,抽出时间实践整理了一份比?具体的:  使用时须要引入的头文件:  #include  setitimer函数原型:  int ...

    PHP中使用sleep函数实现定时任务实例分享

    在某些程序中,有一些特殊的功能需要用到定时执行,如果熟悉Linux的朋友肯定会说这不是容易吗,直接来个计划任务crontab不久实现了吗?这的确是可以实现,但必须是提前知道具体的执行时间,然后才能写到计划任务里去...

    Understanding the Linux Kernel

     调度程序所使用的函数  多处理器系统中运行队列的平衡  与调度相关的系统调用  第八章内存管理  页框管理  内存区管理  非连续内存区管理  第九章进程地址空间  进程的地址空间  内存描述符  线性区  ...

    Linux下实现定时器Timer的几种方法总结

    使用这种方法缺点比较明显,在Linux系统中,sleep类函数不能保证精度,尤其在系统负载比较大时,sleep一般都会有超时现象。 2,使用信号量SIGALRM + alarm() 这种方式的精度能达到1秒,其中利用了*nix系统的信号量...

Global site tag (gtag.js) - Google Analytics