평소에 잘 실행되던 서버가 갑자기 안 되어서 좀 놀랐다.

검색해보니까 스프링 부트로 웹 개발 할 때 가끔 뜨는 에러 메시지인 것 같다.

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 입력해봤는데 아까랑 똑같이 써있다. 어... 별 상관 없나보다.😇