您的位置:首页 > 运维架构 > Linux

Linux内核N日游之内核定时器

2010-11-16 13:21 302 查看
内核N日游之内核定时器

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/timer.h>  /*timer*/
#include <asm/uaccess.h>  /*jiffies*/

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Jackhenry");
MODULE_DESCRIPTION("Timer Module");
MODULE_ALIAS("a kernel timer module");

struct timer_list timer;

void timer_function(int para)
{
printk("<0>Timer Expired and para is %d !!/n",para);
}

int timer_init()
{
init_timer(&timer);
timer.data = 5;
timer.expires = jiffies + (20 * HZ);
timer.function = timer_function;
add_timer(&timer);

return 0;
}

void timer_exit()
{
del_timer( &timer );
}

module_init(timer_init);
module_exit(timer_exit);


在内核中加载:

insmod timer.ko



如上图 所示,加载后 定时5秒,打印语句“Timer Expired and para is 5 !!”.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: