内核N日游之内核定时器
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 !!”.