-
Node.js 교과서 - processNode.js 2021. 9. 19. 01:46
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를 마이크로태스크라고 따로 구분지어 부른다.
'Node.js' 카테고리의 다른 글
Node.js 교과서 - 파일 시스템 (0) 2021.09.19 Node.js 교과서 - worker_threads (0) 2021.09.19 Node.js 교과서 - 암호화 (0) 2021.09.19 Node.js 교과서 - path , url , querystring (0) 2021.09.19 이벤트 루프 , 콜 스택, 태스크 큐 (0) 2021.09.18