본문 바로가기
Full

노드 node process

by ddanss 2022. 12. 8.
728x90

process
- 현재 실행중인 노드 프로세스에 대한 정보를 담고 있음

process.version : 설치된 노드의 버전
process.arch : 프로세스 아키텍처 정보
process.platform : 운영체제 플랫폼
process.pid : 현재 프로세스의 아이디
process.uptime() : 프로세스가 시작된 후 흐른 시간(초단위)
process.execPath : 노드의 경로
process.cwd() : 현재 프로세스가 실행되는 위치
process.cpuUsage() : 현재 cpu사용량


process.env
- 시스템 환경변수들이 들어있는 객체
- 비밀키(데이터베이스 비밀번호, 서드파티 앱 키 등)를 보관하는 용도로 쓰임
- 환경 변수는 process.env로 접근 가능
- - const secretId = process.env.SECRET_ID;
- - const secretCode = process.env.SECRET_CODE;
- 일부 환경 변수는 노드 실행 시 영향을 미침
- - 예시: NODE_OPTIONS(노드 실행 옵션), UV_THREADPOOL_SIZE(스레드풀 개수)

process.nextTick
- 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선적으로 처리
- 너무 남용하면 다른 콜백 함수들 실행이 늦어짐
- 비슷한 경우로 promise가 있음(nextTick처럼 우선순위가 높음)
- 아래 코드에서 setImmediate, setTimeout보다 nextTick과 promise가 먼저 실행됨

setImmediate(() => {
	console.log('immediate');
});
process.nextTick(() => {
	console.log('nextTick');
});
setTimeout(() => {
	console.log('timeout');
});
Promise.resolve().then(() => console.log('promise'));

//콘솔창 결과
//nextTick
//promise
//timeout
//immediate
반응형

'Full' 카테고리의 다른 글

노드 node 현재 파일 경로, 현재 폴더 경로  (0) 2022.12.07
모듈 만들기  (0) 2022.12.07
Promise프로미스, async  (0) 2022.12.07
노드 서버의 장단점  (0) 2022.11.30

댓글