如何读取stdio的child_process.spawnSync stdout选项“inheritance”
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挂钩不给我任何输出
如果你不使用'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', '' ]
这在child.stdout
和其他地方的文档中有点不同,但是并不完全是明确的。 (通过一切手段,如果你希望看到它的改进,打开一个对Node.js回购的拉请求。)