Node.js
Node.js - 자식 프로세스 돌리기 (Run child_process)
에포트
2022. 3. 18. 17:53
최근 Node 환경에서 Julia의 REPL을 돌려야하는 케이스가 생겨서 이를 실현 시키기 위해서 child_process 모듈을 사용해봤다.
구현
const spawn = require('child_process').spawn;
function spawnTest() {
return new Promise(function(resolve, reject) {
let process = spawn('python');
const command1 = 'num1 = 1 \n';
const command2 = 'num2 = 2 \n';
const command3 = 'print(num1 + num2) \n';
process.stdout.on('data', data => {
console.log(data.toString());
});
try {
process.stdin.write(command1);
process.stdin.write(command2);
process.stdin.write(command3);
// stdin을 이용할때는 end()로 반드시 입력을 끝내야합니다.
process.stdin.end();
process.on('close', function (code) {
console.log('end')
resolve(code);
});
} catch (err) {
console.log('error')
reject(err);
}
})
}
spawnTest();
실행 결과
PS C:\Users\bumsu\codes\node-powershell-eg> node index
3
end