Linux内核开发

时间:2016-07-11 17:23:23

标签: linux timer linux-kernel kernel crontab

我希望在系统启动后运行一些脚本/二进制文件,并在Linux内核中运行每1000毫秒(例如)(不使用软件作为crontab和内核模块)。我在哪里可以提供这样的代码:

#include <linux/kmod.h>

char *envp[] = { "HOME=/", NULL };
char *argv[] = { "/bin/ls", NULL };

call_usermodehelper(argv[0], argv, envp, UMH_WAIT_EXEC);

1 个答案:

答案 0 :(得分:2)

尝试使用内核计时器API:

https://www.ibm.com/developerworks/library/l-timers-list/

  

最简单的方法是调用setup_timer,它初始化定时器并设置用户提供的回调函数和上下文。否则,用户可以在计时器中设置这些值(函数和数据),只需调用init_timer即可。请注意,init_timer由setup_timer“

在内部调用
void init_timer( struct timer_list *timer );
void setup_timer( struct timer_list *timer, 
                 void (*function)(unsigned long), unsigned long data );