我想将stdin
值传递给child_process.exec
。我该怎么做?
对于execSync
来说,它非常简单;
execSync('myScript', {input: stdin})
,但文档未说明如何在stdin
上定义exec
。
答案 0 :(得分:0)
这可能看似违反直觉,但由于exec
是异步的,您实际上可以在代码中稍后使用stdin
定义child.stdin.write
;
var child = exec(myScript, function(err, result) {
if (err) return console.log(err);
console.log(result);
});
child.stdin.write(stdin);
child.stdin.end();
以这种方式定义child.stdin.write
时,您还必须手动调用child.stdin.end()
。