Programming Language

[Node.js] nodemon 모듈

wakelight23 2025. 1. 23. 20:59

nodemon 모듈이란?

Node.js 개발할 때, 코드를 수정하고나서 다시 서버를 켜줘야 수정된 코드가 적용되는데
  기존에는 터미널에서 종료한 다음 다시 켜줘야하는 번거로움이 있다.

 

nodemon은 터미널에서 추가적으로 입력할 명령어, 단축키 없이 코드를 수정하고나서

   저장만 하면 자동으로 서버를 재시작해주는 모듈이다.

 

● nodemon을 사용하다보니 서버를 자동으로 재시작할 때 도중에 다른 코드를 넣을 수 있을까?
  라는 생각을 했고, 조사해보니 나온 코드

 

const shutdownHandler = () => {
  console.log('서버 종료 처리 중...');
  server.close(() => {
    console.log('서버가 안전하게 종료되었습니다.');
    process.exit(0);
  });
};

process.once('SIGUSR2', shutdownHandler); // 유닉스 계열
process.once('SIGINT', shutdownHandler); // Windows (CTRL+C)
process.once('SIGTERM', shutdownHandler); // 일반적인 종료 신호

 - SIGUSR2는 리눅스, 유닉스에서 nodemone을 사용할 때 사용되는 문자열

 - SIGINT는 Window 환경에서는 Ctrl + C로 실행을 종료하기에 SIGINT를 사용

 

● 위의 코드를 실행했을 때 나오는 디버깅 결과

서버 종료 처리 중...
서버가 안전하게 종료되었습니다.

 - 위의 처리를 하지 않을 체 사용할 때는 종료될 때 어떠한 처리도 하지 않기 때문에 아무것도 디버깅되지 않음.