Node.js 교과서 - process

Node.js 교과서 - process

process

Node에서 process는 현재 실행되고 있는 노드 프로세스에 대한 정보를 담고 있다.

process.version : 설치된 노드의 버전

process.arch : 프로세서 아키텍처 정보

process.platform : 운영체제 정보

process.pid : 현재 프로세스 아이디

process.uptime() : 프로세스가 시작된 후 흐른 시간 ( 단위는 초 )

process.execPath : 노드의 경로

process.cwd() : 현재 프로세스가 실행되는 위치

process.cpuUsage() : 현재 CPU 사용량

[ process.env ]

시스템의 환경 변수, 서비스의 중요한 키를 저장하는 공간 ( 서버나 데이터베이스의 비밀번호와 각종 API 키 )

NODE_OPTIONS = --max-old-space-size=8192

=> 노드의 메모리를 8GB 까지 사용할 수 있게 한다.

UV_THREADPOOL_SIZE

=> 노드에서 기본적으로 사용하는 스레드풀의 스레드 개수를 나타낸다.

const secretId = process.env.SECRET_ID; const secretCode = process.env.SECRET_CODE;

[ process.nextTick(콜백) ]

이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선으로 처리하도록 만든다.

setImmediate(() => { console.log('immediate'); }); process.nextTick(() => { console.log('nextTick'); }); setTimeout(() => { console.log('timeout'); }, 0); Promise.resolve().then(() => console.log('promise')); [ 실행 결과 ] nextTick promise timeout immediate

process.nextTick은 setImmediate나 setTimeout보다 먼저 실행된다.

resolve된 Promise도 nextTick처럼 다른 콜백들보다 우선시 된다.

이 처럼 다른 콜백보다 우선시 되는 process.nextTick과 Promise를 마이크로태스크라고 따로 구분지어 부른다.

from http://jin-pro.tistory.com/71 by ccl(A) rewrite - 2021-09-19 03:26:52