ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.js 교과서 - process
    Node.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를 마이크로태스크라고 따로 구분지어 부른다.

    댓글

Designed by Tistory.