当前位置: 首页 > 面试题库 >

如何在node.js中执行类似tail -f logfile.txt的处理?

毛景曜
2023-03-14
问题内容

tail -f logfile.txt 输出logfile.txt的最后10行,然后随着文件的增长继续输出附加的数据。

-f在node.js 中做零件的推荐方式是什么?

以下输出整个文件(忽略“显示最后10行”),然后退出。

var fs = require('fs');
var rs = fs.createReadStream('logfile.txt', { flags: 'r', encoding: 'utf8'});
rs.on('data', function(data) {
  console.log(data);
});

我知道事件循环正在退出,因为在流结束和关闭事件之后没有更多事件了-我很好奇继续监视流的最佳方法。


问题答案:

做到这一点的标准方法是使用fs.watchFile

另外,您可以只使用node-tail模块,该模块在fs.watchFile内部使用并且已经为您完成了工作。这是直接从文档中使用它的示例:

Tail = require('tail').Tail;

tail = new Tail("fileToTail");

tail.on("line", function(data) {
  console.log(data);
});


 类似资料:
  • 问题内容: 我在Python中有这个方便的功能: 它的作用类似于UNIX :文件的最后几行出现。这是方便,因为你可以得到发电机 无阻塞 ,并将它传递给另一个函数。 然后我必须在Go中执行相同的操作。我是该语言的新手,所以不确定我所做的操作是否足够习惯/正确。 这是代码: Go中有没有更干净的方法可以做到这一点?我觉得对这样的事情使用异步调用实在是太过分了,这确实让我感到困扰。 问题答案: 我建议围

  • 问题内容: 我正在尝试编写一个小型节点应用程序,该应用程序将搜索并解析文件系统上的大量文件。为了加快搜索速度,我们尝试使用某种类型的map reduce。该计划将是以下简化方案: Web请求带有搜索查询 启动3个进程,每个进程分配1000个(不同)文件 进程完成后,它将“返回”结果回到主线程 一旦所有进程完成,主线程将通过返回组合结果作为JSON结果来继续 我对此有以下疑问: 这在Node中可行吗

  • 本文向大家介绍处理执行中的并行性类型,包括了处理执行中的并行性类型的使用技巧和注意事项,需要的朋友参考一下 数据并行 数据并行意味着在每个多个计算核心上并发执行同一任务。 让我们举个例子,对大小为N的数组的内容求和。对于单核系统,一个线程将简单地对元素[0]求和。。。[N-1]。但是,对于双核系统,在核0上运行的线程A可以对元素[0]求和。。。[N / 2-1],而在核心1上运行的线程B可以求和元

  • 问题内容: 我正在为Web应用程序编写日志文件查看器,为此,我想在日志文件的各行中进行分页。文件中的项目是基于行的,底部是最新的项目。 因此,我需要一种可以n从底部读取行并支持偏移量的方法。我想到的是这样的: 这是合理的方法吗?建议使用带偏移量尾部日志文件的推荐方式是什么? 问题答案:

  • 问题内容: 我有类似的代码 它没有在node.js中按顺序执行,因此在执行结束时得到一个空数组。问题是它将先执行然后执行 我的代码中是否有任何错误或执行此操作的任何其他方式?谢谢! 问题答案: 您可能已经知道,事情在node.js中异步运行。因此,当您需要使事物按特定顺序运行时,您需要利用控件库或基本上自己实现。 我强烈建议您看一下async,因为它可以轻松地使您执行以下操作: 在这里看到的主要内

  • 问题内容: 如何从Node.js中的HTTP 方法提取表单数据()和文件上传? 我已经阅读了文档,谷歌搜索并没有发现任何东西。 有图书馆还是黑客? 问题答案: 如果使用Express(用于Node.js的高性能,高级Web开发),则可以执行以下操作: HTML: API客户端: Node.js :( 自Express v4.16.0起) Node.js :( 适用于Express <4.16.0)