Node.js의 전역 process 객체는 require 없이 현재 실행 중인 프로세스에 대한 정보와 제어 기능을 제공합니다.
명령줄 인수 및 환경 변수
// 명령줄 인수 배열
// 실행 예시: node script.js --mode=prod input.txt
process.argv;
// => ['/path/to/node', '/path/to/script.js', '--mode=prod', 'input.txt']
// 환경 변수 사전 객체
const port = process.env.PORT || 3000;
const isDev = process.env.NODE_ENV !== 'production';
// 프로세스 ID 및 플랫폼 아키텍처
process.pid; // Process ID integer
process.platform; // 'darwin', 'linux', 'win32'
process.arch; // 'x64', 'arm64'
작업 디렉터리 탐색
// 현재 작업 디렉터리
console.log(process.cwd()); // e.g. "/Users/project"
// 작업 디렉터리 변경
process.chdir('/tmp');
프로세스 종료 및 종료 코드 (Exit Codes)
// 정상적이고 깔끔한 종료
process.exit(0);
// 오류 발생으로 인한 종료 (비정상 종료 코드)
process.exit(1);
// 종료 이벤트 가로채기
process.on('exit', (code) => {
console.log(`Process exited with code: ${code}`);
});
// 처리되지 않은 예외 가로채기
process.on('uncaughtException', (err) => {
console.error('Fatal crash:', err);
process.exit(1);
});