我是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);
});
答案 0 :(得分:1)
此代码有两件事。
首先,.spawn
的第二个参数应该是一个数组。
其次,你基本上需要将文件名传递给wc以获得任何输出。
例如,如果您执行类似
的操作 var ps = child.spawn('wc', ['-l', 'package.json']);
或
var ps = child.spawn('ls', ['-a']);
它运作得很好。