【发布时间】:2013-06-03 22:04:51
【问题描述】:
参见。 FSEvents 在 OSX 上,默认情况下在触发事件之前收集超过 1 秒(超时可配置)的 FS 事件。
这样做的好处是将一系列文件系统更改收集到单个事件中(因此脚本不会运行超过它需要的时间),但会以延迟为代价。
例如,在 Vim 中保存文件会修改许多临时文件(它往往会删除一个缓冲区文件,更新一个撤消文件,并且还会创建然后删除一个名为 4193 的测试文件)以及文件本身。在 OSX 上,使用使用此 API 的小工具(例如我的 fswatch 的 fork),所有这些都可以折叠成一个“批处理事件”,而使用 inotifywait -m,我指定的所有事件都以单独的行通过流使没有外部处理的分组变得不简单。
我很确定解决方案只是包装它并执行此处理,但我希望有一个隐藏的功能来指定像 FSEvents 允许的超时。
【问题讨论】:
标签: linux unix inotify fswatch