独立于操作系统的API来监视文件系统?(OS-independent API to monitor

2019-08-17 20:24发布

我愿与有关分布式文件同步/复制的观念付诸试验。 为了让在用户工作效率,我想实现某种守护进程来监视某些目录的变化(例如:/ home / user中/ dirToBeMonitored或c:\文档和格纹图案\用户\ dirToBeMonitored)。 所以,我能够知道其中加入了文件名/更改/删除在每个时间(或在合理区间内)。

这可能与任何高中级语言? 你知道一些API(和在哪种语言?)这样做呢?

谢谢。

Answer 1:

一个bonified回答,尽管一个需要一个相当大的库的依赖关系(当然,值得IMO)!

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

更妙的是,你可以使用Python或Ruby的QT语言绑定。 下面是使用一个简单的应用PyQt4的QFileSystemWatcher 。

笔记

  • 上一个很好的参考创建部署PyQt4的应用 ,特别是在OSX,但应适用于Windows的工作也。
  • 同样的解决方案以前发布的在这里 。
  • 其他跨平台工具包还可以做的伎俩(例如侏儒的GIO具有GFileMonitor ,虽然它只是UNIX,不支持OSX的FSEvents机制据我所知)。


Answer 2:

这些API是完全不同的的Windows , Linux的 , Mac OS X的 ,和任何其他的Unix您可以命名,它似乎。 我不知道,处理这个以一致的方式任何跨平台库。



Answer 3:

在Linux中它被称为inotify的 。



Answer 4:

而在OS X上,它被称为fsevents 。 这是一个操作系统级API,所以它是最容易从C或C ++来访问。 它应该是从几乎任何语言的访问,虽然您的首选语言绑定可能还没有被写入。



文章来源: OS-independent API to monitor file system?