如何接收 OS X 中文件系统更改的通知?
-
22-07-2019 - |
题
在 Windows 中,我可以使用 FindNextChangeNotification API 来监视文件或文件夹的更改。例如,我可以监视文件夹并在添加或删除文件时收到通知。
OS X 上有类似的 API 吗?
解决方案
Mac OS X v10.5 引入了文件系统事件 API。看一下:
- 技术概览
- 使用文件系统事件 API
- 文件系统事件编程指南 (PDF)
其他提示
FSEvents 是好的,但对于看只是一小部分文件或文件夹的它相当矫枉过正,而且它需要豹或更高版本。 (底层技术是在老虎引入,但是API是不公开。)
作为一种可能的替代,注意,OS X继承 kqueue的从FreeBSD的(至少豹)。您可以搜索EVFILT_VNODE
使用的例子,这就是你要用来监视文件改变什么。
不隶属于 StackOverflow