Node.js

Process 모듈

index.ys 2023. 6. 10. 00:49

process 모듈

- 설치된 노드의 버전을 확인 할수 잇음

process.version //v16.18.0

- 프로세서 아키텍쳐 정보

 process.arch //'x64'

- 프로세스가 실행되는 폴더 위치

process.cwd() //'C:\\Users\\user\\Desktop\\소켓모음\\Square-with-me-BE'

 

- 프로세스가 실행되는 플랫폼 정보

process.platform //'win32'

- 현재프로세스의 아이디 프로세스를 여러개 가질때 구분할 수 있음

process.pid // 15168

- 프로세스가 시작된 이후 흐른 시간 단위는 초.

process.uptime() //303.592022

- 노드가 설치된 경로

 process.execPath //C:\\Program Files\\nodejs\\node.exe

- 현재 cpu사용량

process.cpuUsage() //{ user: 656000, system: 500000 }

- 노드 서버를 종료하기

process.exit(0)
process.exit(1) //서버에서 에러가 난 경우 에러나 났음을 알리고 서버를 종료함

process.env

  • 환경변수가 들어있는 객체 비밀키 등을 보관하는 용도로 쓰임
  • 환경변수는 process.env로 접근가능

환경변수 확인하기

 

process.nexTick

  • 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선적으로 처리함
  • 너무 남용하면 다른 콜백 함수들 실행이 늦어짐
  • 비슷한 경우로 promise가 있음
  • setImmediate와 setTimeout은 환경에따라 어떤 함수가 실행될지 모름 노드에서는 setImmediate만 사용
setImmediate(() => {
    console.log('immediate 실행')
})


process.nextTick(() => {
    console.log('nextTick 실행')
})


setTimeout(() => {
    console.log('timeout 실행')
}, 0)


Promise.resolve().then(() => {
    console.log('프로미스 실행')
})