[Troubleshooting] port is already in use. (for Mac)

mi-fasol·2023년 5월 22일
0

Troubleshooting

목록 보기
3/3

프로젝트 개발을 위해서 서버를 돌렸는데, 저번부터 자꾸 "port 0000 is already in use."라는 에러가 발생했다.

저번에 발생했었을 때는 포트 번호를 8080으로 사용하고 있었기 때문에 그러려니 하고 프로퍼티의 포트 번호를 변경하고 사용했는데, 절대 사용하지 않을 번호가 계속 사용 중이라는 거다.

말하기는 조금 부끄럽지만, 복잡한 번호가 귀찮아서 1004번을 사용하고 있는데 내가 이걸 다른 곳에서 사용할 일이 뭐가 있나..

그래서 이곳저곳을 찾아본 결과, 서버를 종료할 때 비정상적으로 종료가 되면 계속 사용되고 있다고 나오는 경우도 종종 발생한다고 한다.

해결하기 위해서는 아래의 두 가지 방법이 있다.

1. 포트 번호를 변경한다.

2. 현재 실행 중인 포트를 강제 종료하고 서버를 재시작한다.

포트 번호를 바꾸는 거야, 나처럼 application.properties 파일에서 번호만 바꿔주면 되는 건데 계속 이런 식으로 반복되는 오류라면 바꾸지 않고 해결하는 방법을 찾고 싶었다.

필자는 mac을 사용 중이기에 mac 기준으로 해결 방법을 작성하겠다.

우선 terminal을 켜고 정말 간단하게 명령을 작성하면 된다.

lsof -i tcp:포트번호

이렇게 작성하면 아래와 같은 정보가 나온다.

java에서 해당 포트를 사용하고 있다는 건데, 이 정보에서 우리가 필요한 건 PID다.

해당 PID를 확인한 후 sudo kill -9 PID 명령어를 작성해주면 해당 포트를 사용 중인 작업이 종료된다.

그 후 다시 서버를 돌려보면 멀쩡하게 돌아가는 모습을 확인할 수 있다!

profile
정위블

0개의 댓글