[오늘 만난 오류] Port 8080 is already in use
Updated:
8080 포트가 이미 사용중이라는 에러 메시지가 발생하였다. (PortInUseException)
에러 발생 원인은 크게 두가지 이다.
-
동일한 포트를 사용하는 어플리케이션을 번갈아 실행 시킨 경우.
-
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를 입력해주면 해당 프로세스가 종료된다.
Leave a comment