현재 실행중인 노드 프로세스에 대한 정보를 담고 있음
process.env
- 시스템 환경 변수들이 들어있는 객체
- 비밀키(데이터베이스 비밀번호, 서드파티 앱 키 등)를 보관하는 용도로도 쓰임
- 환경 변수는 process.env로 접근 가능
- 일부 환경 변수는 노드 실행 시 영향을 미침
예시) NODE_OPTIONS(노드 실행 옵션), UV_THREADPOOL_SIZE(스레드풀 개수)
max-old-space-size는 노드가 사용할 수 있는 메모리를 지정하는 옵션
process.nextTick(콜백)
- 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선적으로 처리함
- 너무 남용하면 다른 콜백 함수들 실행이 늦어짐
- 비슷한 경우로 promise가 있음(nextTick처럼 우선순위가 높음)
- 아래 예제에서 setImmediate, setTimeout보다 promise와 nextTick이 먼저 실행됨
마이크로태스크
- Promise, nextTick 등 다른 콜백들보다 우선시 되어 실행되는 것들을 말함
- setImmediate, setTimeout보다 promise와 nextTick이 먼저 실행됨
process.exit(코드)
- 현재의 프로세스를 멈춤
- 코드가 없거나 0이면 정상 종료
- 이외의 코드는 비정상 종료를 의미함
속성설명
process.env | 컴퓨터 환경 정보를 나타냄 |
process.version | Node.js 버전 |
process.versions | Node.js와 종속된 프로그램 버전 |
process.arch | 프로세서의 아키텍처를 나타냄 |
process.platform | 플랫폼을 나타냄 |
process.connected | 부모 프로세스와 연결되어 있는지 나타냄 |
process.execPath | Node.js 실행 경로 |
process.execArgv | Node.js 실행 시의 매개변수 |
process.argv | 프로세스 실행 시 전달된 매개변수 |
process.mainModule | 메인 모듈의 정보를 담고 있는 객체 |
process.release | Node.js의 컴파일 정보 |
process.exitCode | 프로세스 종료 코드 |
process 객체의 메소드
메소드설명
process.exit([exitCode = 0]) | 프로세스를 종료 |
process.memoryUsage() | 메모리 사용 정보 객체를 리턴 |
process.nextTick(callback) | 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선으로 처리 |
process.uptime() | 현재 프로세스가 실행된 시간을 리턴 |
process 객체와 이벤트
Node.js 이벤트 연결 메소드
메소드설명
on(event, eventHandler) | 이벤트 연결 |
process 객체의 이벤트
이벤트설명
exit | 프로세스가 종료될 때 발생 |
uncaughtException | 예외가 일어나면 발생 |
unhandledRejection | 예외가 일어나면 발생 |
// exit 이벤트 연결
process.on('exit', (code) => {
console.log(`About to exit with code: ${code}`);
});
// uncaughtException 이벤트 연결
process.on('uncaughtException', (error) => {
console.error(`예기치 못한 에러(uncaughtException): ${error}`);
});
// error raise manually
error.error.error();
//output
// About to exit with code: 1
// 예기치 못한 에러(uncaughtException): TypeError: Cannot read property 'error' of undefined
'Node' 카테고리의 다른 글
url 모듈 (0) | 2024.01.30 |
---|---|
노드 내장 모듈(os, path) (0) | 2024.01.29 |
노드 내장 객체(global, console, 타이머) (0) | 2024.01.28 |
다이나믹 임포트 (0) | 2024.01.24 |
MAP과 SET, WEAKMAP, WEAKSET (0) | 2024.01.24 |