小编Ben*_*ong的帖子

增加 nodejs 管道的最大字节大小

我正在尝试编写一个小命令脚本来代理我项目中的其他脚本,并且我正在尝试使用 node 将标准输出从生成的进程通过管道传输到当前进程的标准输出:

function runCommand(command, arguments) {
    var commandProcess = childProcess.spawn(command, arguments);
    commandProcess.stdout.pipe(process.stdout);
    commandProcess.on("exit", process.exit);
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到我开始从我的子进程中获得大量输出(例如,其中一个是 maven 命令)。我看到的是它只打印出标准输出的前 8192 个字节,然后将其余的存储到下一个“数据”事件。然后它打印出下一个 8192 等等。这意味着输出有延迟,有时当我们运行服务器进程时,它有时会停止打印,直到您触发服务器上的某些内容触发另一个“数据”事件。

有没有办法增加这个缓冲区的大小或避免这种行为?理想情况下,这个指挥官脚本只是我们其他脚本的代理,并且应该完全按原样打印出所有内容。

javascript stream maven node.js

6
推荐指数
1
解决办法
1954
查看次数

标签 统计

javascript ×1

maven ×1

node.js ×1

stream ×1