-
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 포트가 이미 사용중이라는 의미의 에러 그래서 사용중인 3000 포트를 찾아서 강제 종료를 해줘야 했습니다.
터미널에서 "lsof"를 치면 linux에서 활성화된 프로세스 리스트를 출력해주는데
이중에서도 "lsof -i TCP:3000"과 같이 해당 포트를 함께 입력하면
사용 중인 프로세스 이름과 해당 프로세스의 PID 값이 나옵니다.
그러면 kill 명령어를 통해서 해당 프로세스를 강제 종료시킬 수 있습니다.
ex) kill -9 7535
여기서 -9는 kill의 강제 종료 시그널인 9번을 사용하겠다는 의미라고 합니다.
이 후 다시 서버를 실행해보시면 정상 작동하는 것을 확인하실 수 있습니다.
linux에서 "lsof"는 활성화된 프로세스 리스트를 출력해주는 명령어 특정 포트를 사용중인 프로세스만 보고 싶으시다면 "lsof -i TCP:3000"과 같이 입력하시면 됩니다. # 요약
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
NodeJS address already in use 문제 해결 - JooTC
NodeJS address already in use 문제 해결 방법 Error: listen EADDRINUSE: address already in use :::5000 현재 다른 프로세스에서 사용 중이라 해당 서비스를 시작할 수 없다는 에러입니다.
jootc.com