在 Node.js 中,可以通过 child_process
模块的 stdout.on('data')
方法来监听子进程的输出,从而逐行读取 child_process 的输出。具体实现方式如下:
const { exec } = require('child_process');
exec('command', (error, stdout, stderr) => {
if (error) {
console.error(`执行错误: ${error}`);
return;
}
if (stderr) {
console.error(`错误信息: ${stderr}`);
}
console.log(`执行结果: ${stdout}`);
});
在上面的代码中,我们使用 exec
函数来执行指定的命令,通过 stdout.on('data')
方法来监听子进程的输出,并将其输出到控制台中。在 stdout.on('data')
方法中,我们可以使用 stdout.write
方法来输出每一行数据,或者使用 stdout.write
方法来输出整个输出结果。
需要注意的是,在 Node.js 中,如果子进程的输出比较多,或者输出的内容比较长,那么 child_process
模块的 stdout.on('data')
方法可能会阻塞程序的执行,从而导致程序无法响应。因此,在使用 child_process
模块的 stdout.on('data')
方法时,需要考虑到可能出现的问题,并采取相应的措施来避免出现阻塞程序执行的情况。
领取专属 10元无门槛券
手把手带您无忧上云