fs.watchFile创建一个
StatWatcher,然后在
stat要监视的文件上执行。在底层(除了执行明显的stats调用之外)到底发生了什么,取决于编译该节点的事件循环实现。
因此,是的,它占用了一些CPU,但是除了在此处进行轮询之外,您无能为力,也就是说,除非基础文件系统本身会发出文件更改事件。
参见:
https :
//github.com/ry/node/blob/v0.3.2/lib/fs.js#L472
https://github.com/ry/node/blob/v0.3.2/src/node_stat_watcher.h #L39
https://github.com/ry/node/blob/v0.3.2/src/node_stat_watcher.cc#L78
有关参数的更多信息
在无法使用inotify的情况下,间隔是相对的-它确定轮询更新的时间。持久性与当watchFile不在运行时程序应如何操作有关。默认为退出。
据我所知,(使用默认设置)注意到更改需要3–5秒,我可以使其更快吗?
在Linux上,它使用inotify-速度更快
观看数百个文件有多重?
重。这不是为了那个。
资料来源:Ryan Dahl 在Node.js Google
Group上的帖子
结束语
如果您使用的是Linux,则该
interval选项完全无效。
如果未设置,
persistent并且事件循环中除了文件监视程序之外没有其他内容,程序将退出。



