General/debugging

[삽질] 자꾸 CLI 명령어 까먹어서 이제 안 까먹으려고 쓰는 "Port 8080 was already in use" 에러 해결 방법

쉬지마 이굥진 2024. 4. 10. 00:04

요 에러는 예전 스프링 framework로 톰캣 삽입해서 쓸 때부터 왕왕 봤던 에러다.

이렇게 생김요 ㅋ

가끔 로컬에서 애플리케이션 실행시키면 시작부터 이렇게 error가 뜨는 경우가 있다.

 

이 에러는 왜 나나요?

에러 메시지 그대로 포트가 이미 사용중인 포트이기 때문이다.

 

발생 원인으로는

  1. 동일한 포트를 사용하는 어플리케이션을 번갈아가며 실행 시킨 경우 (이미 다른 하나가 실행중)
  2. IDE 상에서는 프로세스가 종료되었으나 실제 프로세스는 종료 안 된 경우

등이 있다고 한다. 

 

 

해결 방법 

  1. 실행 하고자 하는 어플리케이션의 실행 포트를 바꾼다.
  2. 현재 포트를 사용하고 있는 프로세스를 종료한다.

필자는 명령 프롬프트를 통한 두 번째 방법을 선호한다. (필자의 환경은 Windows이다. Mac 과는 방법이 다르니 주의)

 

  • cmd 창을 열고 아래 명령어를 입력해준다.
netstat -ano

 

netstat: 현재 TCP/IP 네트워크 연결 상태 확인
a: 모든 연결 및 수신 대기 포트를 표시
n: 주소 및 포트 번호를 숫자 형식으로 표시. 호스트 이름 대신 IP 주소가 표시됨
o: 각 연결의 프로세스 ID(PID)를 표시 

 

명령어를 입력하면, 현재 시스템에서 활성화된 네트워크 연결과 해당 포트의 정보를 확인할 수 있다.

현재 이미 사용 중인 포트 번호는 8080이므로, 8080을 찾아서 PID 번호를 확인해주자.

확인하니 5432 인 것을 확인할 수 있다. 

 

 

  • taskkill 명령어로 해당 포트를 사용하고 있는 프로세스를 종료해준다.
taskkill /f /pid 5432

 

성공적으로 프로세스가 종료되었다. 이제 어플리케이션을 실행하면 정상적으로 실행 될 것이다.

 

정상 실행 확인 ~

 

자꾸 저 CLI 명령어를 잊어버려서 매번 찾아봤는데 .. 이제는 절대 안 잊어버릴 수 있을 것 같다 ^_^ 부들

'General > debugging' 카테고리의 다른 글

[삽질] cannot find symbol method value() 에러 해결  (0) 2024.02.10