0

我正在寻找一个守护进程/服务,它能够有效地监视多个文件的更改并在写入文件时触发一个事件。这里的问题是,就我的想法而言,我可能会在我相对较弱的计算机上跟踪潜在的数百个文件,并且我担心性能问题。

我正在考虑使用fswatch,但我不确定针对不同操作系统的各种类型的监视器的性能,尤其是对于可能有数百个文件的监视器。

我正在寻找一个跨平台的解决方案。最好是 C++ 或 Nodejs。任何帮助将不胜感激!

4

1 回答 1

0

除了 之外,还有很多 npm 包fs.watch,性能取决于许多因素,正如您所说,您的系统在性能方面有点慢。您可以使用Chokidarhound。他们是不错的选择。

const chokidar = require('chokidar');

// One-liner for current directory
chokidar.watch('.').on('all', (event, path) => {
  console.log(event, path);
});

此外,您可以将目录划分为更小的块并将它们分配给子进程,这有助于在该特定工作线程发生任何更改时更新父进程。但是,这只是一个建议,因为如果任何工作线程停止工作,您可能需要跟踪需要再次分配它的文件,并且您必须自己实现它(有点复杂)。

我建议您使用 npm 包或fs.watch本身来实现。

您可以从fs.watch的文档中查看其他事件。

于 2021-05-30T13:27:18.237 回答