我正在尝试在 linux rhel5、内核 2.6.18、glibc 2.5-18 中使用 iNotify。我没有将事件定义为一枪,但出于某种原因,它的行为就像我做了一样。影响是我必须在每次活动后重新添加手表。有人用过 iNotify 吗?另一个问题是事件对象中返回的掩码只包含一个标志:IN_ONE_SHOT。
Yaron
问问题
983 次
2 回答
0
很可能 inotify 正在隐式删除监视,因为正在删除文件。手册页巧妙地引用了该行为(请参阅有关 IN_IGNORED 事件的部分)。您可以通过检查是否在调用read
.
另请参阅修改和保存文件时的 inotify delete_self 以了解为什么在您认为只是修改的过程中文件可能在您不知情或不采取行动的情况下被删除。
于 2012-12-06T13:11:48.997 回答
0
写出你能写出的最小的例子并进行测试。如果它证明了您正在谈论的行为,请将其添加到您的问题中。如果它表现正常,则添加更多代码并再次测试。不断重复,直到您重现错误或您的代码正常工作。我经常发现构建一个玩具程序可以准确地告诉我我做错了什么,而我在更大的程序中看不到。
于 2009-05-18T14:14:29.087 回答