-
Error: address already in use :::3000NestJS 2022. 1. 24. 21:06
이제 막 NestJS를 설치하고 공식문서와 노마드코더 강의를 들으면서 따라해보던 중이었습니다.
Hello World! 가 잘 뜨는 것을 확인하고 Control + z를 눌러서 나왔습니다.
참고로 찾아보니 "Control + z"는 해당 프로세스를 중단하는 것이고 "Control + c"는 해당 프로세스를 종료하는 것입니다.
Control+Z is used for suspending a process by sending it the signal SIGSTOP, which cannot be intercepted by the program. While Control+C is used to kill a process with the signal SIGINT, and can be intercepted by a program so it can clean its self up before exiting, or not exit at all.
그 후 "npm run start:dev"를 입력해서 서버를 실행하려고 했는데 아래와 같은 에러메세지가 떴습니다.
그래서 사용중인 3000 포트를 찾아서 강제 종료를 해줘야 했습니다.
터미널에서 "lsof"를 치면 linux에서 활성화된 프로세스 리스트를 출력해주는데
이중에서도 "lsof -i TCP:3000"과 같이 해당 포트를 함께 입력하면
사용 중인 프로세스 이름과 해당 프로세스의 PID 값이 나옵니다.
그러면 kill 명령어를 통해서 해당 프로세스를 강제 종료시킬 수 있습니다.
ex) kill -9 7535
여기서 -9는 kill의 강제 종료 시그널인 9번을 사용하겠다는 의미라고 합니다.
이 후 다시 서버를 실행해보시면 정상 작동하는 것을 확인하실 수 있습니다.
# 요약
1. 해당 프로세스를 종료할 때는 "Control + c" 입력
2. 터미널에서 "lsof -i TCP:port number" 입력해서 해당 프로세스의 PID를 조회
3. 터미널에서 "kill -9 PID" 입력하여 해당 프로세스 강제 종료 시킨 후 서버 재시작
추가적으로 알아야 할 것
1. "npm run start" 와 "npm run start:dev" 의 차이점은??
2. Control + z 통해서 중단시킨 프로세스는 어떻게 재실행시킬 수 있을까?
https://jootc.com/p/201912253249