Node.js 实现 HTTP 响应流式输出子进程结果

作者:后端茶话时间:2026-10-21 23:51:18浏览:283

本文介绍如何在 Node.js 中利用 child_process.spawn 启动子进程,并通过管道将子进程的标准输出直接传输到 HTTP 响应主体。示例代码展示了如何监听请求结束事件以终止子进程,实现动态日志流式输出。

Node.js 子进程输出至 HTTP 响应示例

接下来直接提供具体的实现代码,详细逻辑如下。


var spawn = require('child_process').spawn;
require('http').createServer(function(req, res) {
 var child = spawn('tail', ['-f', '/var/log/system.log']);//当有一个新的请求出现时,就通过执行 tail -f /var/log/system.log命令启动一个新的进程
 child.stdout.pipe(res);//将子进程的输出传入相响应主体中
 res.on('end', function() {
 child.kill();
 });
}).listen(4000);//能生成进程,并传输进程输出的流服务,并根据需要结束子进程

上述内容介绍了在 Node.js 中将子进程输出传输至 HTTP 响应的方法,希望能对读者有所帮助。如有疑问,欢迎留言,小编会及时回复。

作者最新文章