我正在寻找一个跨平台文件系统观察程序,类似于.NET中的FileSystemWatcher类。由于它是守护进程/服务,我不喜欢Qt的QFileSystemWatcher。我真的很想避免它,因为我不想依赖Qt,因为我的程序将成为一个守护进程。
我还看到一个proposal这样的类要包含在Boost中,但据我所知,这个类还没有包括在内。
是否存在跨平台C ++文件系统观察程序?
答案 0 :(得分:4)
答案 1 :(得分:2)
我没有用过这个(我来这个问题寻找替代方案),但http://code.google.com/p/simplefilewatcher似乎是一个不错的选择。它目前尚未维护,但相关的API可能相当稳定。如果我使用这个库,我会记得更新这个答案。
答案 2 :(得分:0)
为了完整起见,还值得一提的是Poco' DirectoryWatcher。
答案 3 :(得分:0)
作为替代方案,还有" Entropia文件系统观察器"
https://bitbucket.org/SpartanJ/efsw这是简单文件监视器的分支。
efsw目前支持以下平台:
Linux via inotify
Windows通过I / O完成端口
Mac OS X通过FSEvents或kqueue
FreeBSD / BSD通过kqueue
独立于操作系统的通用观察程序(轮询磁盘以查找目录) 快照并定期比较它们
如果任何后端因任何原因无法启动,它将会回退 独立于操作系统的实现。