nodejs流没有输出

时间:2014-03-05 09:09:56

标签: node.js stream

我是nodejs stream的新手。我尝试将子进程流与父进程连接,但它不起作用。有人能告诉我代码有什么问题吗?这是我的代码。

var child = require('child_process');
var ps = child.spawn('wc', '-l');

ps.stdout.pipe(process.stdout, {end: false});
process.stdin.pipe(ps.stdin, {end:false});

ps.stdin.on('end', function(){
    process.stdout.write('ps stream ended');
});

ps.on('exit', function(code){
    process.exit(code);
});

1 个答案:

答案 0 :(得分:1)

此代码有两件事。 首先,.spawn的第二个参数应该是一个数组。 其次,你基本上需要将文件名传递给wc以获得任何输出。

例如,如果您执行类似

的操作

var ps = child.spawn('wc', ['-l', 'package.json']);

var ps = child.spawn('ls', ['-a']);

它运作得很好。