我想尝试一下有关分布式文件同步/复制的想法.为了在用户工作时提高效率,我想实现某种守护进程来监视某些目录中的更改(例如/ home/user/dirToBeMonitored或c:\ docs和setts\user\dirToBeMonitored).因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名.
这可能与任何高中级语言一起使用吗?你知道一些API(以及使用哪种语言?)来做到这一点?
谢谢.
对于Windows,Linux,Mac OS X以及您可以命名的任何其他Unix,API完全不同.我不知道任何跨平台的库以一致的方式处理它.
一个很好的答案,虽然需要一个较大的图书馆依赖(非常值得IMO)!
QT提供QFileSystemwatcher类,它使用底层平台的本机机制.
更好的是,您可以使用Python或Ruby的QT语言绑定.这是一个使用QFileSystemWatcher的简单PyQT4应用程序.
笔记
关于创建可部署的PyQT4应用程序的一个很好的参考,特别是在OSX上,但也适用于Windows.
同样的解决方案以前发布的在这里.
其他跨平台工具包也可以做到这一点(例如Gnome的GIO有GFileMonitor,虽然它只是UNIX而且不支持OSX的FSEvents机制).