Linux 定时器

也许,一本书你从头到尾都看完了,但也只是看完了。

也许,你似懂非懂的理解了。

但,当你准备用学来的这些东西做东西时,才发现:原来你根本没懂!

看书重要的不是看了多少,重要的是理解了多少,理解的多深多广!

一个傅里叶变换,一个小波,我怎么越看越晕?

“学以致用”这四个字越来越被教育所忽视了。

如果不是图像处理我真不知道线性代数原来可以这么牛逼!

.........................................

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

int limit = 10;

void timeout_info(int signo)
{

	if(limit == 0)
	{
		printf("Sorry, time limit reached.\n");
		exit(0);
	}
	printf("only %d senconds left.\n", limit--);
}

void init_sigaction(void)
{
	struct sigaction act;

	act.sa_handler = timeout_info;
	act.sa_flags = 0;
	sigemptyset(&act.sa_mask);
	sigaction(SIGPROF, &act, NULL);
}

void init_time(void)
{
	struct itimerval val;

	val.it_value.tv_sec = 1;
	val.it_value.tv_usec = 0;
	val.it_interval = val.it_value;
	setitimer(ITIMER_PROF, &val, NULL);

}

void main(int argc, char* argv[])
{
	init_sigaction();
	init_time();
	printf("You have only 10 seconds for thinking.\n");

	while(1);
	exit(0);

}

Linux 定时器

时间: 2024-11-05 12:00:39

Linux 定时器的相关文章

【转】Linux 定时器setitimer()

http://blog.sina.com.cn/s/blog_590be5290100izdf.html 用法: #include <sys/time.h> int getitimer(int which, struct itimerval *value); int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue); 功能描述: 获取或设定间歇计时器的值.系统为进程提供三种类型的计时器,每

Linux定时器接口

Linux定时器接口主要分为三类: 一. sleep(), unsleep, alarm(),引用了SIGALARM信号,在多线程中使用信号又是相当麻烦的. 二. nanosleep(), clock_nanosleep(),让线程挂起,程序失去响应,多线程网络编程中应该避免. 三. timerfd_create(),也是用信号来deliver超时,将时间转变成一个文件描述符,可以像其他I/O事件一样操作定时器,所以程序中在写I/O框架用到定时器首选timerfd_create(). 1. ti

Linux定时器 使用

1.alarm alarm()执行后,进程将继续执行,在后期(alarm以后)的执行过程中将会在seconds秒后收到信号SIGALRM并执行其处理函数. #include <stdio.h>#include <unistd.h>#include <signal.h>void sigalrm_fn(int sig){    printf("alarm!\n");    alarm(2);    return;}int main(void){    s

Smart210学习记录-----linux定时器

1.内核定时器: Linux 内核所提供的用于操作定时器的数据结构和函数如下: (1) timer_list 在 Linux 内核中,timer_list 结构体的一个实例对应一个定时器 1 struct timer_list { 2    struct list_head entry; /* 定时器列表 */ 3    unsigned long expires; /*定时器到期时间*/ 4    void (*function)(unsigned long); /* 定时器处理函数 */ 5

Linux定时器工具-crontab 各參数具体解释及怎样查看日志记录

要使用crontab定时器工具,必需要启动cron服务: service cron start crontab的语法,以备日后救急.先上张超给力的图: crontab各參数说明: -e : 运行文字编辑器来编辑crontab,内定的文字编辑器是VI -r : 删除眼下的crontab -l : 列出眼下的crontab(查看专用) -i : 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除 注意crontab是分用户的,以谁登录就会编辑到谁的crontab crontab特殊

linux定时器

我们常常有设置系统在某一时间执行相应动作的需求,比如设置电脑什么时候自动锁屏,什么时候自动关机,设置应用程序什么时候自动运行,什么时候自动退出.这些与时间相关的功能,都需要依靠操作系统中的定时器来实现. linux中定时器的使用原理很简单,你只需设置一个超时时间和相应的执行函数,系统就会在超时的时候执行一开始设置的函数.超时的概念有点模糊,它指的是你设定一个时间,如果当前的时间超过了你设定的时间,那就超时了.比如说,你设置五分钟后系统自动关机,系统会记住五分钟后的具体时间,也就是当前时间再加上五

linux定时器(crontab)实例

linux实验示例----实现每2分钟将“/etc”下面的文件打包存储到“/usr/lobal”目录下 ·Step1:编辑当前用户的crontab并保存终端输入:>crontab -u root -l #查看root用户设置的定时器>crontab -u root -e #进入vi编译模式 00-59/2 * * * * /bin/bash /usr/local/crontab_test.sh #Esc退出编辑模式,在文件尾部输入“:wq”进行保存 ·Step2:/usr/local目录下,编

linux定时器的实现方法

Linux提供定时器机制,可以指定在未来的某个时刻发生某个事件,定时器的结构如下: struct timer_list { struct list_head list; unsigned long expires; unsigned long data; void (*function)(unsigned long); }; list 实现的时候使用的,和定时器功能无关expires 是定时器定时的滴答数(当前的滴答数为 jiffies )function 到那个时刻内核调用的函数data 由于

Linux定时器的实现

http://www.ibm.com/developerworks/cn/linux/l-cn-timers/ http://blog.csdn.net/zhangxinrun/article/details/5914191