Error: listen EADDRINUSE: address already in use :::5000

Suyoung·2022년 1월 5일
7

개요

node 서버를 5000번 포트로 띄우려 했는데, 이미 사용 중이라며 발생한 에러.

해결 방법 검색 - 1 (실패)

언제나 그랬듯이, 구글에 에러 메시지를 복붙하고 해결 방법을 찾아본다.
제일 상단에 등장하는 Stackoverflow 페이지로 들어가보자.

위의 답변에 적힌 대로 따라해보자. 5000번 포트를 사용 중인 프로세스를 찾아 종료시켜야 하므로 다음 명령어를 실행한다.

sudo lsof -i :5000

해당 프로세스가 확인되는 것을 알 수 있다. 프로세스를 kill하기 위해 다음 명령어를 실행한다.

kill -9 {PID} // 내 경우 PID는 93234이다.

다시 lsof 명령어를 실행시켜 5000번 포트가 사용중인지 확인해보자.

프로세스가 다른 PID로 다시 생성되었다..?
흔들리는 멘탈을 살짝 부여잡고, 해결 방법을 고민해본다.

COMMAND 항목을 보니, node가 아닌 ControlCe가 확인되는 것을 알 수 있다.

해결 방법 검색 - 2

키워드를 바꿔서 구글링해보자.

다른 사람들도 꽤나 검색한 흔적이 보여 다행이다.
가장 상단에 위치한 페이지로 들어가보았다.

문제 해결

대강 읽어보니, macOS를 Monterey로 업데이트해서 발생한 문제로 보인다..
아래에 친절히 해결 방법이 안내되어 있다.

과정은 다음과 같다.

시스템 환경 설정 - 공유 - AirPlay 수신 모드 항목의 체크를 해제

이후 lsof 명령어를 실행하여 5000번 포트를 사용하는 프로세스가 존재하는지 확인해보자.

깔끔하게 없어진 것을 확인할 수 있다!

References

Why is Control Center on Monterey listening on ports?
Node / Express: EADDRINUSE, Address already in use - Kill server

profile
블로그 이전 >> suyoung.vercel.app

3개의 댓글

comment-user-thumbnail
2022년 3월 25일

감사합니다ㅜㅡㅠ

답글 달기
comment-user-thumbnail
2022년 8월 9일

감사합니다 ㅠㅠ 포트를 계속 kill해도 프로세스가 생성이 돼서 계속 찾아봤는데 맥북 문제였군요 ...

답글 달기
comment-user-thumbnail
2022년 12월 10일

와 감사합니다!

답글 달기