2016-07-11 18 views
1

システム起動後、Linuxカーネル内で(例えばcrontabやカーネルモジュールとしてソフトウェアを使用しないで)1000msごとにスクリプト/バイナリを実行したい。私はそのようなコードをどこに置くことができます。Linuxカーネル開発

#include <linux/kmod.h> 

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

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

答えて

2

は、カーネルタイマAPIを使用してみてください:

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

最も簡単な方法は、タイマーを初期化し、USER-を設定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);