我一直在调整的例子在这里,使其反复观看了"修改"的文件.我的代码在这里.在我的测试中,inotify通知仅在文件第一次被"修改"(即touch'ed)时触发.对文件的任何后续修改都不会导致触发任何通知.stat显示"修改"时间已更改.此外,修改代码以删除手表并在每次通知触发时重新添加(即移动inotify_add_watch并inotify_rm_watch进入while(1)我的样本中的循环内)并没有帮助解决此问题.
我想知道这里有没有人可以帮助解决我可能做错的事情.此外,虽然我已经添加了一块手表IN_ALL_EVENTS,但我真的只关心IN_MODIFY事件.不确定这是否有所不同.
此外,这个用例不起作用吗?我应该改变观察目录的方法吗?请指教.
TIA.
编辑1:正如themel所述,处理i需要一些修复.但是,即使是固定版本也不会为后续文件系统"事件"触发通知.此外,在目录上添加监视而不是文件表现出类似的非确定性行为.
编辑2:我想根据这个工作答案得到这个asio + inotify示例.不幸的是,这个例子根本不适用于我.任何帮助将非常感激.TIA.