我希望在系统启动后运行一些脚本/二进制文件,并在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);
答案 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 );