Node.js가 시작한 Python 스크립트의 출력을 읽으려고합니다. 그러나 일단 프로세스가 완료되면 데이터에 액세스 만합니다.하위 프로세스의 버퍼링되지 않은 표준 출력 읽기
var proc, args;
args = [
'./bin/build_map.py',
'--min_lon',
opts.sw.lng,
'--max_lon',
opts.ne.lng,
'--min_lat',
opts.sw.lat,
'--max_lat',
opts.ne.lat,
'--city',
opts.city
];
proc = spawn('python', args);
proc.stdout.on('data', function (buf) {
console.log(buf.toString());
socket.emit('map-creation-response', buf.toString());
});
{stdio : 'inherit'}으로 프로세스를 시작하면 콘솔에서 직접 결과를 볼 수 있습니다. 하지만 process.stdout.on ('data', ...)과 같은 일은 작동하지 않습니다.
도착했을 때 하위 프로세스의 출력을 읽고 다른 곳으로 보낼 수 있도록하려면 어떻게해야합니까?
지연 추가는 결코 좋은 해결책이 아닙니다. 문제의 진정한 원인을 찾아야합니다. 이 비슷한 질문을 확인하십시오. http://stackoverflow.com/questions/18849112/stream-child-process-output-in-flowing-mode –