我从fsevent获取目录路径,例如“/ User / Data /” 但我真正想要的是“/User/Data/change.txt” 我已阅读编程指南,它说
typedef void ( *FSEventStreamCallback )(
ConstFSEventStreamRef streamRef,
void *clientCallBackInfo,
size_t numEvents,
void *eventPaths,
const FSEventStreamEventFlags eventFlags[],
const FSEventStreamEventId eventIds[]);
eventPaths一个路径数组 事件的目录 发生。
有没有找出哪个文件被修改的方法? 谢谢!!!! 我坚持了很久......
答案 0 :(得分:5)
另一种选择是kqueue。请参见“文件系统事件编程指南”的附录A.
答案 1 :(得分:3)
根据您的使用需求,您可能会考虑低级别的fsevents。该进程必须以root身份运行。这是从/dev/fsevents
读取的simple example,而不是使用FSEvents包装器。有了这个,您将获得完整的路径以及进行更改的过程和其他详细信息。
答案 2 :(得分:1)
在10.7+中,您可以将kFSEventStreamCreateFlagFileEvents标志传递给FSEventStreamCreate以获取单个文件信息。请参阅documentation。