평소에 잘 실행되던 서버가 갑자기 안 되어서 좀 놀랐다.
검색해보니까 스프링 부트로 웹 개발 할 때 가끔 뜨는 에러 메시지인 것 같다.
org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use
이미 다른 곳에서 실행 중일 때 뜨는 거라는데 포트를 변경하거나 종료시키면 된다. 내가 혼자 쓰는 게 아니라 맘대로 바꾸긴 좀 그래서 그냥 종료시켰다.
*Windows 기준
cmd 창을 켜고 다음을 입력한다.
netstat -ano
그럼 아래와 같은 순서로 포트와 포트 상태가 쭉 뜬다.
프로토콜 | 로컬 주소 | 외부 주소 | 상태 | PID
진짜 많이 뜨기 때문에 힘들면 Ctrl+F로 찾는 게 빠르다.
여기서 로컬 주소가 7070인 것을 찾고 해당 포트의 PID를 가지고 다음 명령어를 입력한다.
taskkill /f /pid 12345그럼 해당 포트를 사용하고 있는 프로세스가 종료된다.
인텔리제이로 다시 서버를 실행해보니까 정상적으로 실행된다.
*macOS에서 종료하는 방법
다음 명령어를 입력하여 해당 포트를 사용하는 프로세스를 조회한다.
Isof -n -i -P | grep 7070
이것도 PID가 나올텐데 다음 명령어로 종료하면 된다.
kill -9 12345로컬 주소에 0.0.0.0 말고 다른 거 써있고 ESTABLISHED 써있어서 저렇게 종료시켜도 되는 건가 싶었는데 컴퓨터엔 별 문제 없는 것 같다. 괜찮겠지 뭐~ 궁금해서 인텔리제이 실행했던 거 끄고 다시 netstat -ano 입력해봤는데 아까랑 똑같이 써있다. 어... 별 상관 없나보다.😇
0 댓글