오류

[Error] MAC port 8080 was already in use 오류 해결

허몽구 2023. 1. 30. 22:43

프로젝트를 진행하다 보면 가끔 이런 오류를 마주칠 때가 있다.

Description:

Web server failed to start. Port 8080 was already in use. 

Action: 

Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

8080 포트가 이미 사용중이라 다른 포트를 사용하거나, 현재 8080 포트를 사용 중인 리소스를 종료하라는 메시지이다. 

 

그렇다면, 강제 종료를 하는 방법은 무엇일까?

 

1. 터미널에 들어가서 lsof -i tcp:8080 명령어를 사용한다.

해당 명령어를 통해 어떤 PID를 가진 프로세스가 8080 포트를 사용 중인지 확인할 수 있다.

lsof -i tcp:8080
COMMAND  PID           USER     FD  TYPE             DEVICE SIZE/OFF NODE NAME
java            8478  heojiyeong   43u  IPv6 0xdf392036191629ab      0t0  TCP *:http-alt

8478라는 PID를 가진 프로세스가 8080 포트를 사용 중임을 확인할 수 있다.

 

2. 8080 포트를 사용 중인 프로세스를 강제 종료한다.

kill -9 명령어를 통해 프로세스를 강제 종료한다. -9 뒤에는 위의 명령어로 확인한 PID를 넣어준다.

sudo kill -9 8478 

강제 종료, 즉 관리자의 권한을 필요로 하므로 패스워드를 입력하면 8080 포트를 사용 중이던 프로세스가 강제 종료된다.