error 해결 Error: listen EADDRINUSE: address already in use :::5000

춤추는개발자·2023년 4월 19일
0

사이드 프로젝트를 만들면서 간단한 node.js express 라이브러리를 이용한 서버를 만들어야 했다. 나는 백엔드 분야 공부를 하지 않았고 node.js 는 더더욱 배워본적이 없기에 유튜브 강의를 보면서 따라하며 서버를 만들었다. 서버를 실행하니 에러를 만나게 되었다.

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

5000 번 포트를 이미 다른 프로세서가 사용하고 있다고?

난 사용한적이 없는데 사용하고 있다니까... 그럼 이 에러를 해결하기 위해서 구글링을 시작했다.

난 5000 번 포트를 사용하는 프로세스를 찾아서 종료시킬려고 했다.
나는 macOs 를 사용하고 있기 때문에 터미널을 열어서 lsof 명령어를 사용해 현재 활성화된 프로세스를 확인했다.
lsof 명령어는 맥, 리눅스에서 현재 활성화된 프로세스를 확인 할 수 있는 명령어이다. -i 를 사용하면 특정 포트의 프로세스가 활성화 여부를 확인 할 수 있다.

sudo lsof -i :5000

5000 번 포트를 사용하는 프로세스를 볼 수 있을 것이다. 그럼 이 프로세스를 강제종료 시켜 봅시다.

kill -9 {해당 PID}

-9 는 kill 의 강제 종료 시그널이라고 합니다.

프로세스가 잘 종료되었는지 확인 해 봅시다.

sudo lsof -i :5000

하지만 프로세스가 종료되지 않은 것을 확인 할 수 있었습니다.

구글링을 해보니 5000 번 포트를 사용하고 있는 프로세스의 COMMAND 가 node 일때만 위의 방법으로 해결이 가능하다고 합니다. 저는 COMMAND 가 ControlCe 였습니다.

또 다시 구글링을 하던 중 macOs 의 최신 업데이트에서 위의 에러가 발생했다는 글을 봤고 글에 소개된 방법으로 진행하고

sudo lsof -i :5000

위의 명령어를 사용하여 5000 번 포트를 사용하고 있던 프로세스가 종료되었는지 확인해보니 종료가 된것을 확인 할 수 있었습니다.
에러를 해결한 방법은

시스템 설정에서 airplay 모드를 검색하고 airplay 모드를 꺼주시면 됩니다.

0개의 댓글