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

时间:2008-09-30 22:59:30

标签: platform-independent file-monitoring

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

这可能适用于任何高中级语言吗?你知道一些API(用哪种语言?)来做这件事?

感谢。

4 个答案:

答案 0 :(得分:10)

WindowsLinuxMac OS X以及您可以命名的任何其他Unix的API完全不同。我不知道有任何跨平台的库以一致的方式处理它。

答案 1 :(得分:9)

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

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

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

备注

答案 2 :(得分:0)

在Linux中,它被称为inotify

答案 3 :(得分:0)

在OS X上,它被称为fsevents。它是一个操作系统级别的API,因此最容易从C或C ++访问。它几乎可以从任何语言访问 ,但您的首选语言的绑定可能尚未编写。