我的程序使用inotify来监控文件的更改。 我的代码如下:
fd = inotify_init();
wd = inotify_add_watch(fd, "./test.txt", IN_ALL_EVENTS);
len = read(fd, buff, BUFF_SIZE);
while (i < len) {
struct inotify_event *pevent = (struct inotify_event *) &buff[i];
//process events
i += sizeof(struct inotify_event) + pevent->len;
}
但是,在我为受监控文件(事件IN_OPEN
,IN_MODIFY
,IN_ACESS
等)中的第一次更改收到多个事件后,监控文件中的后续更改会生成任何其他事件==&gt;我的程序在读取功能中挂起(读取被阻止)
你们能帮我解释一下这个错误。
答案 0 :(得分:0)
请显示“./test.txt”实际发生的操作以及有关您的代码的更多信息(buff,BUFF_SIZE)。以下是您要检查的一点: