node.js 脚本调用最大值计算机代数系统并将我的输入重定向到stdin
最大值。Maxima 将处理后的输入写入一个临时文本文件,在该文件中,maxima 返回的每个结果都有一个新行。
节点可以监视写入文件的新数据并以某种方式捕获这些数据(仅写入文件的新行,而不是整个文件)?
我已经尝试过fs.watchFile
,但无法捕获它返回的实际数据。
谢谢。
fs.watchFile
插入到操作系统中的实际文件监视功能(Linux 中的 inotify),它只是通过路由这些事件。任何行已更改的逻辑等都必须由您自己实现。由于它是一个日志文件,您可能只对尾部感兴趣,您可以为此重用其他程序。例如,请参阅此示例。
如果您想自己动手,只需执行以下操作:
fs.watchFile("/path/to/log.txt", function (prev, curr) {
// verify writes
if (x && y && z) {
fs.readFile("/path/to/log.txt", "utf8", function (err, body) {
// check what has been appended
});
}
});