ページ

2010年6月20日日曜日

[Ubuntu 10.04][cron] 自動的にC言語プログラム(実行ファイル)読み込む注意点?

このエントリーをはてなブックマークに追加

//===============================================
// crontabをeditorで開く
//===============================================
sudo gedit /etc/crontab


//===============================================
// root権限でShellScriptを1分毎に実行
//===============================================
# m h dom mon dow user command
# [user name]は存在する名前に変更してください。
00-59 * * * * root sh /home/[user name]/test.sh


//===============================================
// test.sh (Cファイルのコンパイル and 実行)
//===============================================
#!/bin/sh
# [user name]は存在する名前に変更してください。
gcc -o /home/[user name]/test /home/[user name]/test.c
/home/[user name]/./test


//===============================================
// test.c
//
// while()内でprintf()関数を使用したところ動作に不具合が生じました。
// debug用に付ける出力関数はコメントアウトすべき!?
//
// コンパイルする際はfopen()関数第1引数[user name]を存在する名前変更してください。
//===============================================
#include<stdio.h>
// strlen()
#include<string.h>
// time()
#include<time.h>
// usleep()
#include<unistd.h>

int main(void){

FILE * fp;
char data[256] = "TEST ";
time_t timer;
size_t t;

t = time(&timer);
// [user name]を変更してください。
fp = fopen("/home/[user name]/conf", "wb");

while(1){

// コメントアウトしないと不具合が起こる?
// printf("debug用");

fwrite(data, 1, strlen(data), fp);

// プロセス渡し
usleep(100);

if(t + 10 <= time(&timer)){
break;
}
}

fclose(fp);

return 0;
}

0 件のコメント:

コメントを投稿