我在分布式系统的大学课程中正在执行一个项目。我正在计划创建类似于Dropbox(getdropbox.com)的东西,但是会有一些非集中的点对点转换。为此,我需要一些检测目录结构变化的方法。你如何看待Dropbox做到这一点?他们的实施工作非常好。我想知道他们是否使用Windows上的win32 api中的FileSystemWatcher,以及类似的和依赖于Linux和Mac的平台。如何查看文件系统以进行更改
3
A
回答
1
据我所知,DropBox的(等)采用的是Windows服务(或Linux/Mac端的守护进程)来监视文件系统。在.Net中创建这种方法非常简单,这种情况通常是Windows服务的教科书示例。我相信在C++中做类似的事情也是相当直接的。
下面是一个关于如何在Windows上创建服务的.Net简单教程的链接。你需要为你的解决方案做的所有事情是在Timer.Tick()事件中添加你的监视器逻辑。
4
在Mac OS X Leopard中还有的FSEvents API,可以让你的文件系统更改的通知登记:
http://googlemac.blogspot.com/2008/03/file-system-change-logger-for-leopard.html
3
在Linux方面,有个可怕的无证inotify的。如果你不介意使用glib,那么GFileMonitor类很容易使用。我认为它不是可移植的,所以它将仅限于Linux。
3
eduffy提到的inotify ....
我看到这一段时间回来,基于inotify的。称为incron,它增加了cron类似于incron的功能。
相关问题
- 1. 如何查看文件系统目录以查看何时添加文件?
- 2. 查看iOS的应用文件系统中的文件以进行测试?
- 3. Openshift:查看文件系统
- 4. 如何查看文件中进行的单个提交更改?
- 5. 如何使用Node.js有效地查看文件以进行更改?
- 6. 如何撤消在Rails/RSpec测试中进行的文件系统更改?
- 7. 如何观看Excel文件变化,同时openpyxl进行更改
- 8. 如何更改Woocommerce系统文本
- 9. 如何更改文件权限以查看图像
- 10. 如何监视特定文件以查看Mercurial中的更改?
- 11. 如何更改hadoop文件系统中的文件权限
- 12. 如何查看文件,而不是使用Python进行更改的目录?
- 13. 如何在Eclipse PDT中查看文件系统
- 14. 更改系统文件的权限
- 15. 检测文件更改 - 修补系统
- 16. 文件系统通知更改了?
- 17. 更改cramfs文件系统的权限
- 18. 如何查看对CSS样式进行更改的影响
- 19. 远程进行文件系统同步
- 20. 如何查看observableArray更改
- 21. 如何在perforce中查看对一组文件的更改的统一日志?
- 22. 轮询文件以进行更改是如何工作的?
- 23. 我应该如何轮询大量文件以进行更改?
- 24. 如何使用QFileSystemWatcher监视文件夹以进行更改
- 25. 文件系统信息 - 如何查询?
- 26. 如何快速查询文件系统?
- 27. 在Emacs中,我如何检查所有打开的文件以进行更改?
- 28. 如何检测java中的文件系统已更改
- 29. 如何在Linux文件系统中记录日常更改?
- 30. 如何更改Ravendb中(单个)文件系统的位置?
我可能会误解你打算在这里做什么。添加逻辑到计时器刻度?这是否意味着你打算得到一个目录列出每个勾号并进行比较?没有!不要这样做! – 2009-11-25 21:36:17