on
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