inotify を使用してローカル ファイルを監視しています。たとえば、"/root/temp" を使用しています。
inotify_add_watch(fd, "/root/temp", mask).
このファイルを削除すると、プログラムはread(fd, buf, bufSize)
機能によってブロックされます。新しい「/root/temp」ファイルを作成しても、プログラムは読み取り機能によってブロックされたままです。監視対象のファイルが作成されたことをinotifyが検出でき、読み取り機能がfdから何かを取得して、読み取りが永久にブロックされないようにすることができるかどうか疑問に思っています。これが私のコードです:
uint32_t mask = IN_ALL_EVENTS;
int fd = inotify_init();
int wd = inotify_add_watch(fd, "/root/temp", mask);
char *buf = new char[1000];
int nbytes = read(fd, buf, 500);
私はすべてのイベントを監視しました。