Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- datagridview 직접입력
- DataGridView 직접 입력
- pm2 상태 확인
- listener 1883
- allow_anonymouse
- setInterval clear
- pm2 확인
- pm2 설치
- setInterval 정지
- mosquitto.conf
- Replication
- setInterval 중지
- 1883
- html #select #option #multiple
- 서버동기화
- AntDesign
- invalid data
- pm2 시작
- pm2
- 데이터테이블 데이터 넣기
- 공인IP
- mySQL_Replication
- c# datagridview 데이터 넣기
- 맥 어드레스
- mosquitto
- timepicker
- DatePicker
- map이 undefined가 뜰 때
- transfer
- setInterval 외부 정지
Archives
- Today
- Total
개발 노트
nodejs child process 본문
Node.js 자식 프로세스(Child Process): 알아야 할 모든 것 (freecodecamp.org)
1. spawn()
- 용도: 새로운 프로세스를 생성하고, 표준 입력/출력 스트림을 통해 데이터 전송.
- 특징:
- 비동기적으로 작동하며, 데이터 스트림을 처리할 수 있음.
- 대용량 데이터 전송에 유리.
- 사용 예:
const { spawn } = require('child_process'); const child = spawn('ls', ['-lh', '/usr']); child.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); child.stderr.on('data', (data) => { console.error(`stderr: ${data}`); }); child.on('close', (code) => { console.log(`자식 프로세스가 ${code} 코드로 종료됨`); });
2. exec()
- 용도: 쉘 명령어를 실행하고, 결과를 콜백 함수로 반환.
- 특징:
- 명령어의 실행 결과를 버퍼에 저장하여 한 번에 반환.
- 짧고 간단한 명령어 실행에 적합.
- 결과의 크기에 제한이 있음.
- 사용 예:
const { exec } = require('child_process'); exec('ls -lh /usr', (error, stdout, stderr) => { if (error) { console.error(`오류: ${error}`); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); });
3. execFile()
- 용도: 파일 실행을 위한 전용 메서드.
- 특징:
- 쉘을 거치지 않고 직접 실행.
- 보안상 유리하며, 인자 전달이 간편.
- 실행 파일과 인자를 배열로 전달.
- 사용 예:
const { execFile } = require('child_process'); execFile('node', ['-v'], (error, stdout, stderr) => { if (error) { console.error(`오류: ${error}`); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); });
4. fork()
- 용도: Node.js의 자식 프로세스를 생성하는 데 특화.
- 특징:
- 새로운 V8 인스턴스를 생성하고, 부모 프로세스와 IPC(Inter-Process Communication)를 지원.
- 주로 Node.js 애플리케이션에서 사용.
- 사용 예:
const { fork } = require('child_process'); const child = fork('child.js'); child.on('message', (message) => { console.log(`자식 프로세스에서 메시지: ${message}`); }); child.send('안녕하세요, 자식 프로세스!');
'Node' 카테고리의 다른 글
프로그램 에러 테스트 순서 (0) | 2024.09.27 |
---|---|
PM2 access denied // node 에서 실행 시 정상 실행 원인 (0) | 2024.09.09 |
node 프로그램 내부 MQTT reconnect관련 문제 (0) | 2024.07.11 |
sync 배포 시 문제 (0) | 2024.07.04 |
public ip 가져오기(axios) (0) | 2024.05.20 |