Javascript 如何使用“child_process.spawn”的管道选项?

Javascript 如何使用“child_process.spawn”的管道选项?,javascript,node.js,Javascript,Node.js,当我阅读节点的文档时,我发现了这个选项 将stdin设置为pipe时很容易理解。 但是当您想将stderr或stdout设置为管道时 child_process.spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] }) // How to use the pipe? // Usage... 当stderr和stdout都设置为pipe时,您能给我举个例子吗 child_process.spawn(cmd, args, { stdio: [

当我阅读节点的文档时,我发现了这个选项

stdin
设置为
pipe
时很容易理解。 但是当您想将
stderr
stdout
设置为
管道时

child_process.spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] })

// How to use the pipe?
// Usage...
stderr
stdout
都设置为
pipe
时,您能给我举个例子吗

child_process.spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] })

// How to use the pipe?
// Usage...

您拥有的代码看起来应该已经将
/dev/null
附加到stdin,并将stdin+stdout管道连接到父进程的各个流。这样不行吗

同样的事情可以通过几种不同的方式实现

示例:将a
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);
});

我不明白。你的代码不正是你想要的吗?@jgillich我更新了这个问题。我想知道如何使用这根管子。