2017-11-23 3 views
0

자식 프로세스가 노드에서 {stdio:'inherit'}을 사용하고있는 opt에서 사용하기 때문에 자식 프로세스가 사용자의 입력을 받아 들일 필요가 있기 때문에이 작업을 수행해야합니다.상속을 사용하여 생성 된 자식 프로세스의 출력 얻기

부모 출력을 사용하기 때문에 하위 출력이 실제로 아무것도 아니기 때문에이 출력을 가져와야합니다. 나는 아이들을 처리 한 후에 첨부하고 떼어내는 것이 빠르다고 생각했지만, 그렇게하지 않기를 바란다. 나는 그것이 일부 노드 스트림 솔루션이라고 가정한다. 먼저 입력을 가로 채서 부모 프로세스로 전달하는 것과 같은 것?

TLDR 노드에서 여전히 stdio:'inherit'을 수행하는 동안 하위 프로세스의 출력이 필요합니다. 아마도 자식 프로세스의 출력을 버퍼/문자열로 파이프하는 것입니까?

응답 코드를 보내 주시면 감사하겠습니다.

답변

0

알아 냈어! 파이썬은

const child_process = require('child_process'); 

const child = child_process.spawn('python3', ['./eater.py'], { 
    stdio: ['inherit', 'pipe', 'pipe'], 
}); 

const output = []; 

child.stdout.on('data', d => { 
    console.log(d.toString()); 
    output.push(d.toString()); 
}); 

child.stdout.on('end',() => { 
    console.log('Finished'); 
    console.log({ output }); 
}); 

있다면 같은 :

print("Some prompt") auth_code = input('Provide some code to us\n')

관련 문제