使用inotify和IN_CREATE来监视某个目录上的文件创建的程序在某些目录上失败但在其他目录上运行。例如,它适用于/ home / randomtroll / testdir,但在/ home / randomtroll上失败;两者都拥有相同的所有者和权限。当它失败时,读取返回EINVAL。 inotify描述符和监视已成功创建;它读取的缓冲区正确对齐,大到足以容纳读取的数据。
答案 0 :(得分:1)
我读取inotify描述符的缓冲区太小了。我把它做得足够大,以容纳我正在寻找的文件的名称;创建名称长于该值的文件会导致读取错误。当读取inotify描述符时,无法限制读取的字节数。这对我来说似乎是个错误。