我的目标:监视文本文件以进行修改,而监视器不会阻塞我的程序,而是形成循环的一部分(因此按顺序检查)。
我的脑袋说:要么找到一种方法以非阻塞模式运行 iNotify,要么线程化 iNotfiy。
我尝试了非阻塞方式,并使用以下命令为我的 iNotify 实例禁用了 O_NONBLOCK:
fcntl (fd, F_SETFL, fcntl (fd, F_GETFL) | O_NONBLOCK);
但是,当我这样做时,我会尝试:
length = read(fd, buffer, BUF_LEN);
它不断告诉我,对于读取,资源暂时不可用。
谁能给我一些关于如何实现我想做的事情的提示?不需要是这种方法,但我需要该功能,因为我正在使用网络服务器编辑文本文件并希望将修改读入我的 C++ 程序以更新变量。
提前致谢!