有人可以解释持续监视的工作原理吗?
如果它正在监视文件中的更改,是否会占用PC上的某些资源?
谢谢 ;)
fs.watchFile创建一个StatWatcher,然后在stat要监视的文件上执行。在底层(除了执行明显的stats调用之外)到底发生了什么,取决于编译该节点的事件循环实现。
fs.watchFile
StatWatcher
stat
因此,是的,它占用了一些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-速度更快 观看数百个文件有多重? 重。这不是为了那个。
在无法使用inotify的情况下,间隔是相对的-它确定轮询更新的时间。持久性与当watchFile不在运行时程序应如何操作有关。默认为退出。
据我所知,(使用默认设置)注意到更改需要3–5秒,我可以使其更快吗?
在Linux上,它使用inotify-速度更快
观看数百个文件有多重?
重。这不是为了那个。
资料来源:Ryan Dahl 在Node.js Google Group上的帖子
结束语 如果您使用的是Linux,则该interval选项完全无效。 如果未设置,persistent并且事件循环中除了文件监视程序之外没有其他内容,程序将退出。
interval
persistent