react + express 프로젝트에서 서버를 구동하던 중 만난 에러다.
5000번 포트가 현재 다른 프로세스에서 사용중이기에 해당 포트를 사용하는 현재 서비스를 시작할 수 없다는 에러 메세지 (에러 포트 번호가 5000번이 아닐 수도 있음)
5000번 포트를 사용하는 프로세스를 찾고, 필요하지 않은 경우 종료를 해야 한다.
// 터미널에 활성화된 프로세스 리스트 출력
lsof
// 특정 포트 사용 중인 프로세스 조회
lsof -i TCP:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 1495 baekjeongyeon 23u IPv4 0xb1ac9a99ec85b0cb 0t0 TCP *:commplex-main (LISTEN)
ControlCe 1495 baekjeongyeon 24u IPv6 0xb1ac9a9ebac2a583 0t0 TCP *:commplex-main (LISTEN)
Google 13434 baekjeongyeon 46u IPv6 0xb1ac9a9ec6ffc883 0t0 TCP localhost:51824->localhost:commplex-main (CLOSE_WAIT)
// 원하는 프로세스 죽이기 (kill 명령어로 강제로 종료 및 -9는 kill의 강제 종료 시그놀인 9번을 사용한다는 의미)
kill -9 1495
그런데 자세히 보면 command 종류가 node가 아닌 ControlCe였다..!
Monterey로 업데이트 하면서 생긴 문제 같다.
시스템 환경 설정 - 공유 - AirPlay 수신 모드 항목의 체크를 해제
이후에 5000번 포트 사용 프로세스 조회시 깔끔하게 없어짐