当我阅读Node的文档时,我找到了这个选项。
将stdin
设置为pipe
时很容易理解。
但是,当您想将stderr
或stdout
设置为pipe
时?
如果stderr
和stdout
都设置为pipe
,您能举例说明吗?
child_process.spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] })
// How to use the pipe?
// Usage...
答案 0 :(得分:0)
您看到的代码应该已经将/dev/null
附加到stdin,并将stdin + stdout传递给父进程的各个流。这不起作用吗?
同样的事情可以通过几种不同的方式实现。
示例:管道当前节点进程的ls -a
到stdout + stderr的stdout + stderr,并使用与子命令相同的退出代码终止节点进程
var spawn = require("child_process").spawn;
var ls = spawn("ls -a");
ls.stdout.pipe(process.stdout);
ls.stderr.pipe(process.stderr);
ls.on("exit", function(code) {
process.exit(code);
});