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