2014-03-05 2 views
2

저는 nodejs 스트림을 처음 사용합니다. 부모 프로세스와 자식 프로세스 스트림을 연결하려고 시도하지만 작동하지 않습니다. 누군가 코드에 무엇이 잘못되었는지 말해 줄 수 있습니까? 여기 내 코드가있다.nodejs 스트림 출력 없음

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

'spawn ('wc ', ['-l '], {stdio : ['pipe ','pipe '등의 스트림을 공유하도록 정의한'.spawn' process.stderr]});' – Gntem

답변

0

이 코드에는 2 가지가 있습니다. 먼저 .spawn의 두 번째 인수는 배열이어야합니다. 둘째, 출력을 얻으려면 기본적으로 wc에 파일 이름을 전달해야합니다.

그래서 예를 들어, 당신은

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

또는

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

그것은 잘 작동과 같은 일을 할 경우.