[오늘 만난 오류] Port 8080 is already in use

Updated:

8080 포트가 이미 사용중이라는 에러 메시지가 발생하였다. (PortInUseException)

에러 발생 원인은 크게 두가지 이다.

  1. 동일한 포트를 사용하는 어플리케이션을 번갈아 실행 시킨 경우.

  2. IDE 상에서는 프로세스가 종료되었으나 실제 프로세스가 종료되지 않은 경우.

나의 경우 2번에 해당하는 경우였고 다음과 같이 해결하였다.

해결 방법

8080 포트를 사용하고 있는 프로세스를 종료하여 해결하였다.

1. lsof 명령어로 8080 포트 사용하는 프로세스 조회

lsof -n -i -P | grep 8080

lsof: 현재 실행중인 프로세스를 확인한다. -n: 호스트네임을 제거한다. -i: IPv[46] 파일들을 선택한다. -P: 포트의 이름을 제거한다.

결과

COMMAND   PID    USER  FD    TYPE DEVICE    SIZE/
OFF   NODE NAME
java      12345  user  128u  IPv6 0x5210d6  
0t0        TCP 127.0.0.1:8080 (LISTEN)

PID는 포트 아이디이며 프로세스 종료시 필요하다.

2. 해당 포트를 사용하는 프로세스 종료

kill -9 12345

kill -9 명령어 뒤에 PID를 입력해주면 해당 프로세스가 종료된다.

Categories:

Updated:

Leave a comment