首页 文章

独立于操作系统的API来监控文件系统?

提问于
浏览
8

我想试验有关分布式文件同步/复制的想法 . 为了在用户工作时提高效率,我想实现某种守护进程来监视某些目录中的更改(例如/ home / user / dirToBeMonitored或c:\ docs和setts \ user \ dirToBeMonitored) . 因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名 .

这可能适用于任何高中级语言吗?你知道一些API(以及使用哪种语言?)来做到这一点?

谢谢 .

4 回答

  • 9

    一个很好的答案,虽然需要一个大的图书馆依赖(非常值得IMO)!

    QT提供了QFileSystemwatcher类,它使用底层平台的本机机制 .

    更好的是,您可以使用Python或Ruby的QT语言绑定 . Here是一个使用QFileSystemWatcher的简单PyQT4应用程序 .

    Notes

    • 关于creating deployable PyQT4 apps的一个很好的参考,特别是在OSX上,但也适用于Windows .

    • 之前发布的相同解决方案here .

    • 其他跨平台工具包也可以做到这一点(例如GnomeGIOGFileMonitor,虽然它只是UNIX而且没有't support OSX' s FSEvents机制afaik) .

  • 10

    对于WindowsLinuxMac OS X以及您可以命名的任何其他Unix,API完全不同 . 我不知道任何跨平台库以一致的方式处理这个问题 .

  • 0

    在Linux中,它被称为inotify .

  • 0

    在OS X上,它被称为fsevents . 它最容易从C或C访问 . 它几乎可以从任何语言访问,但您的首选语言的绑定可能尚未编写 .

相关问题