我正在执行一个命令,并使用spawn
收听其标准输出,如下所示
const { spawn } = require('child_process');
const childProcess = spawn('RV', ["...jpg"]);
child.stdout.on('data', function(data) {
console.log(data.toString());
})
child.stderr.on('data', function(data) {
console.log("error", data.toString());
})
child.on('error', function(err) {
console.log("Error", err);
})
child.on('exit', function(code, signal) {
console.log("Child process exited")
});
子进程标准输出未启用。如果我关闭子进程,它将打印剩余的stdout。我了解这是因为stdout会一直缓冲到收到新行为止。
但是,如果我在终端中执行相同的命令,它将仅显示所有标准输出日志,而无需关闭子进程。如果这是我正在调用的应用程序的问题,那么它就不能在终端上正常工作吗?
nodejs的子进程中是否有一个选项可以像在终端中执行那样执行命令?