본문 바로가기
에러 핸들링

Port 8080 was already in use (feat. 8080 포트 죽이기)

by kdohyeon (김대니) 2023. 4. 3.
반응형

스프링부트 어플리케이션을 시작하려고 했더니 Port 8080 was already in use 에러가 나면서 시작이 안되는 경우가 발생했습니다.

{"timestamp":"2023-04-03 14:30:01.575","@version":"1","message":"\n\n***************************\nAPPLICATION FAILED TO START\n***************************\n\nDescription:\n\nWeb server failed to start. Port 8080 was already in use.\n\nAction:\n\nIdentify and stop the process that's listening on port 8080 or configure this application to listen on another port.\n","logger_name":"org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter","thread":"restartedMain","level":"ERROR","level_value":40000,"caller_class_name":"org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter","caller_method_name":"report","caller_file_name":"LoggingFailureAnalysisReporter.java","caller_line_number":40}

에러 원인

이미 8080 포트로 다른 어플리케이션이 띄워져 있는 경우에 발생하는 에러입니다. 동일한 포트로 두 개 이상의 어플리케이션을 시작할 수 없기 때문에 새로운 어플리케이션을 띄우기 위해서는 기존에 8080 포트로 띄워져있던 어플리케이션을 강제 종료해야 합니다.

8080 포트로 띄워져있는 어플리케이션 찾기

command 창을 열어 아래 코맨드를 입력합니다. 8080 포트가 어떤 프로세스로 실행되고 있는지 확인합니다.

lsof -i :포트번호

// 8080 포트
lsof -i :8080

8080 포트로 이미 띄워져있는 어플리케이션

Process 확인

process id 74814 로 실행이 되고 있는 것을 확인했습니다.

PID
74814

8080 포트 죽이기

PID 74814 를 kill 합니다.

kill -9 PID

// PID 74814
kill -9 74814

Alias 등록해서 한 번에 하기

lsof 로 PID 를 파악하고 kill 코맨드를 다시 적는 과정이 귀찮다면 alias 로 등록해서 한 번에 처리하게 할 수도 있습니다.

// kill the process of 8080 port in one line
$ kill -9 $(lsof -i :8080)

// alias 확인
$ alias

// alias 등록
$ alias kill8080='kill -9 $(lsof -i :8080)'

// 등록한 alias 실행
$ kill8080

 

반응형

댓글