我正在使用 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);
我监视了所有事件。