我想体验关于分布式文件同步/复制的想法。为了使用户在工作时更高效,我想实现某种守护进程来监视某些目录中的更改(例如/ home/user/dirToBeMonitored或c:\ docs和setts \ user \ dirToBeMonitored)。因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名。与操作系统无关的API来监视文件系统?
这是可能的任何高中级语言?你知道一些API(以及哪种语言?)来做到这一点吗?
谢谢。
我想体验关于分布式文件同步/复制的想法。为了使用户在工作时更高效,我想实现某种守护进程来监视某些目录中的更改(例如/ home/user/dirToBeMonitored或c:\ docs和setts \ user \ dirToBeMonitored)。因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名。与操作系统无关的API来监视文件系统?
这是可能的任何高中级语言?你知道一些API(以及哪种语言?)来做到这一点吗?
谢谢。
虽然需要较大的库依赖性(值得它IMO)!
QT提供了QFileSystemwatcher类,该类使用底层平台的本机机制。
更好的是,您可以使用Python或Ruby的QT语言绑定。 Here是一个简单的PyQT4应用程序,它使用QFileSystemWatcher。
注意
在Linux中,它被称为inotify。
而在OS X上,它被称为fsevents。这是一个OS级的API,所以从C或C++访问是最容易的。它应几乎可以从任何语言访问,虽然您的首选语言的绑定可能尚未写入。
OP正在寻求一种跨平台的解决方案,下面的答案都没有解决这个问题。理想情况下,这样的解决方案应该用像C++这样的低级语言来实现,然后提供对各种高级语言(如Python)的绑定 – 2009-07-18 16:58:33