Node/노드 기능

process

webmaster 2022. 7. 23. 17:42
728x90

process

  • node의 processs는 운영체제에 관한 정보를 가지고 있다.
  • process.version : 설치된 노드 버전
  • process.arch : 프로세서 아키텍처 정보
  • process.platform : 운영체제 플랫폼 정보
  • process.pid : 현재 프로세스 ID
  • process.uptime : 프로세스가 시작된 후 흐른 시간
  • process.execPath : 노드 경로
  • process.cwd : 현재 프로세스가 실행되는 위치
    • __(던더스코어) filename, __dirName , process.cwd를 통해 경로를 많이 알아낸다
  • process.cpuUsage : 현재 cpu 사용량

process.env

비밀키를 process를 통해 가지고 온다.

  • 시스템 환경 변수들이 들어있는 객체
  • 환경 변수는 process.env 접근 가능 
  • 비밀키(데이터베이스 비밀번호, 서드파티 앱 키 등)를 보관하는 용도로도 쓰임
    • 소스코드에 비밀키가 있을 필요가 없다
  • 일부 환경 변수는 노드 실행 시 영향을 미침max-old-space-size 노드가 사용할 있는 메모리를 지정하는 옵션
    • 예시) NODE_OPTIONS(노드 실행 옵션), UV_THREADPOOL_SIZE(스레드 풀 개수)

process.nextTick(콜백) 

  • 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선적으로 처리함
    • 너무 남용하면 다른 콜백 함수들 실행이 늦어짐
    • 비슷한 경우로 promise가 있음(nextTick처럼 우선순위가 높음)
    • 아래 예제에서 setImmediate, setTimeout보다 promise와 nextTick이 먼저 실행됨
  • 그 외 setTimeout, setimmediate는 어떤 것이 먼저 실행될지 알 수 없다.(시스템 환경에 따라 다름)

process.exit(코드) 

프로세스 종료

  • 현재의 프로세스를 멈춤
  • 코드가 없거나 0이면 정상 종료
  • 이외의 코드는 비정상 종료를 의미함
    • 비정상적으로 프로세스를 종료하고 싶을 때 많이 사용한다.
728x90

'Node > 노드 기능' 카테고리의 다른 글

Url과 querystring  (0) 2022.07.24
os와 path  (0) 2022.07.24
모듈 심화, 순환 참조  (0) 2022.07.23
_filename, _dirname, exports와 this  (0) 2022.07.23
Global과 콘솔, 타이머  (0) 2022.07.23