我想尝试有关分布式文件同步/复制的想法。为了在用户工作时提高效率,我想实现某种守护程序来监视某些目录中的更改(例如 /home/user/dirToBeMonitored 或 c:\docs 和 setts\user\dirToBeMonitored)。因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名。
任何高中级语言都可以做到这一点吗?你知道一些 API(以及使用哪种语言?)来做到这一点?
谢谢。
我想尝试有关分布式文件同步/复制的想法。为了在用户工作时提高效率,我想实现某种守护程序来监视某些目录中的更改(例如 /home/user/dirToBeMonitored 或 c:\docs 和 setts\user\dirToBeMonitored)。因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名。
任何高中级语言都可以做到这一点吗?你知道一些 API(以及使用哪种语言?)来做到这一点?
谢谢。
对于Windows、Linux、Mac OS X和任何其他你可以命名的Unix ,API 似乎是完全不同的。我不知道有任何跨平台库以一致的方式处理这个问题。
一个合理的答案,尽管它需要一个较大的库依赖项(非常值得 IMO)!
QT 提供了QFileSystemwatcher类,它使用了底层平台的原生机制。
更好的是,您可以使用 Python 或 Ruby 的 QT 语言绑定。这是一个使用QFileSystemWatcher的简单 PyQT4 应用程序。
笔记
在 Linux 中,它被称为inotify。
在 OS X 上,它被称为fsevents。它是操作系统级别的 API,因此最容易从 C 或 C++ 访问。它应该可以从几乎任何语言访问,尽管您的首选语言的绑定可能尚未编写。