Jam*_*mie 15 macos networking fsevents
从我看到,网络映射驱动器显示为/ Volumes文件夹的子文件夹.
从此文件夹获取文件更改更新(删除/创建/更新)的正确方法是什么?
/ dev/fsevents会为此工作吗?
Finder如何了解这些变化?
你是对的,OS X 将网络驱动器安装在 /Volumes 中
获取文件更改更新的方法是使用文件系统事件 API。它是一个基于 C 的 API,您可以在其中监视特定目录(甚至/
)中的所有更改。
您可以使用以下命令创建流FSEventStreamCreate
并启动它FSEventStreamScheduleWithRunLoop
准备好深入研究头文件,因为参考文档中有更多关于它的文档
据我所知,Finder 可能使用一些内部 API 或内核队列,这些 API 的设置比 FSEvents.h 的高级 API 更复杂
有一个很好的 GUI 可以帮助您查看整个事件是如何发生的。它被 fernlightning 称为 fseventer(尚未准备好 Yosemite)