var childProcess = cp.spawnSync(command, args, {
cwd: process.cwd(),
env: process.env,
stdio: 'inherit',
encoding: 'utf-8'
});
childProcess.output 总是 eq [null, null, null]
process.stdout.write 钩子(Hook)没有给我任何输出
最佳答案
如果您不使用 'pipe'
,则 childProcess.output
将不包含输出。
var cp = require('child_process');
var command = 'echo';
var args = ['hello', 'world'];
var childProcess = cp.spawnSync(command, args, {
cwd: process.cwd(),
env: process.env,
stdio: 'pipe',
encoding: 'utf-8'
});
console.log(childProcess.output); // [ null, 'hello world\n', '' ]
这有点像在 documentation for child.stdout
中指出的和其他地方,但它并不完全明确。 (无论如何,如果您希望看到它得到改进,请针对 the Node.js repo 打开拉取请求。)
关于node.js - 如何使用 stdio 选项 'inherit' 读取 child_process.spawnSync stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35689080/