Node.js fs.watchFile持久监视机制?

Node.js fs.watchFile持久监视机制?,node.js,Node.js,有人能解释一下手表是如何工作的吗 如果它正在查看文件的更改,是否会占用PC上的一些资源 谢谢;) fs.watchFile创建一个StatWatcher,然后对正在监视的文件执行stat。在低级别(除了执行明显的stats调用外)如何实现这一点取决于编译节点的事件循环实现 是的,它占用了一点CPU,但在这里,除了轮询之外,您不能做任何其他事情,也就是说,除非底层文件系统本身会发出文件更改事件 请参阅: 有关参数的更多信息 当inotify不可用时,间隔是相关的-它决定 轮询更新的时间。 P

有人能解释一下手表是如何工作的吗

如果它正在查看文件的更改,是否会占用PC上的一些资源


谢谢;)

fs.watchFile
创建一个
StatWatcher
,然后对正在监视的文件执行
stat
。在低级别(除了执行明显的stats调用外)如何实现这一点取决于编译节点的事件循环实现

是的,它占用了一点CPU,但在这里,除了轮询之外,您不能做任何其他事情,也就是说,除非底层文件系统本身会发出文件更改事件

请参阅:


有关参数的更多信息 当inotify不可用时,间隔是相关的-它决定 轮询更新的时间。 Persistent与程序在除了 监视文件正在运行。默认设置是退出

据我所见,需要3-5秒才能注意到这些变化(使用 默认设置),我可以让它更快吗

在linux上,它使用inotify,这更快

看几百个文件有多重

沉重的。这不是为了那个

资料来源:Ryan Dahl发布在

总之
如果您使用的是linux,
interval
选项对所有人都无效。

如果不设置
persistent
,并且事件循环中除了文件监视程序之外没有其他内容,程序将退出。

设置手动轮询比设置persistent watch更好吗?persistent参数不会影响监视本身。如果不进行设置,则当事件循环中剩下的唯一回调正在监视该文件时,程序将退出。请参阅我的更新答案。Ivo,作为提示,我在另一个问题中引用了您的答案: