繁体   English   中英

获取节点中子进程的 output 时出错

[英]Error getting the output of child process in node

我有一个 c 程序(我没有编码),它在终端中打印一些数据。 我使用 spawn function 在节点中将程序作为子进程启动。

const child_process = spawn('./myProgram', ['--arg']);

之后,我对事件进行编码以获取打印数据:

child_process.stdout.on('data', function(data) {
        console.log(data);
});

当我运行程序时,我在 nodejs 终端中看不到 c 程序中的 output 数据。 如果我使用 stdio 初始化子进程作为继承它可以工作。

const child_process = spawn('./myProgram', ['--arg'], {stdio :'inherit'});

这里的关键点是我需要在我的 nodejs 应用程序中处理这些数据。 我想c文件打印数据的方式不是标准的,所以我的nodjs程序没有得到它。

该文件正在输出到stderr而不是stdout 通过将事件添加到stderr来修复它:

child_process.stderr.on('data', function(data) {
        console.log(data);
});

@tadman得到了答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM