我正在使用 OSX FSEventStream 监视特定目录中的文件系统更改。我在这里查看文档,发现描述了一个有趣的标志,kFSEventStreamCreateFlagIgnoreSelf。
根据使用此标志的文档,FSEvents 框架不会通知您“由当前进程触发的事件”。
这听起来很棒。这正是我想要的,但在实践中我发现我仍然会得到一些由当前进程触发的事件。
在我有限的测试中,如果监控过程创建一个新文件,或者重命名现有文件,一个事件仍然会被触发。虽然至少对现有文件的某些修改不会触发事件。
根据有限的文档(和标志的名称),我不希望当前进程触发任何事件。
所以我的问题有两个: - 这是预期的行为吗?我担心如果我指望它存在的行为,它可能是无意的,并且将来它可能会从我下面改变。
第二:——如果是,有谁知道在使用这个标志时我可以期望哪些事件仍然被传递。