常に変化するログファイルを監視するコードがあります。コードは現在正常に実行されていますが、ファイルが移動または削除されると、コードはまだファイル ポインターを使用して読み取ろうとしています。
fr = fopen (filename, "rt");
while (1) {
if(fgets(buffer, 500, fr) != NULL) {
//do something
} else {
sleep(1); //wait for data to come
}
}
ファイルが移動/削除されたかどうかを検出して終了できるようにするにはどうすればよいですか?