Flask 서버를 구동하려던 도중 5000 Port를 사용하고 있다는 에러 메세지가 떴다.
이미 사용 중인 주소
포트 5000은 다른 프로그램에서 사용 중입니다. 해당 프로그램을 식별하고 중지하거나 다른 포트로 서버를 시작하십시오.
macOS의 경우 시스템 환경설정 -> 공유에서 'AirPlay Receiver' 서비스를 비활성화해 보세요.
맥북의 경우 5000포트를 같이 사용하는 서비스가 있는데 위 설명처럼 바로 AirPlay Receiver이다
문제를 해결 하기 위해서는 두가지 방법이 있다.
1. AirPlay Receiver 비활성화
같은 포트를 사용하고있는 AirPlay Receiver를 비활성화하는 방법이 있다.
위 사진의 안내처럼 시스템 환경설정 -> 공유 -> AirPlay Receiver를 비활성화 하면 된다.
2. 강제로 Port 죽이기
터미널에서 명령어를 통해 강제로 5000port를 죽일 수 있다.
터미널을 연뒤 아래 명령어를 입력해준다.
lsof -n -i TCP:5000
kill -9 {PID번호}
이후 이상 없이 잘 실행되는 것을 볼 수 있다.
근데 왜 하필 포트 5000 인가?
근데 이렇게 포트를 강제로 죽여도 다시 살아나는 현상이 있다.
이유는 MacOS가 21년 6월 Monterey 업데이트 되면서 AirPlay Receiver에 5000번의 Port를 부여했다.
계속해서 포트가 살아나는 현상은 바로 이런 이유 때문이다.
사실 5000 Port는 개발자들 사이에서 자주 사용 되던 로컬포트인데
이는 기존의 개발자들의 작업물과 많은 충돌을 일으키는 등 개발자들을 혼란스럽게 했고
개발 커뮤니티에서도 왜 이런 선택을 했느냐라는 등의 불만섞인 소리가 많이 나온다.
AirPlay Receiver의 포트를 임의로 바꾸는 등의 임시조치를 하기도 하지만
근본적인 이유는 같은 5000포트를 쓰고있기에 불편을 감수하는 수 밖에 없다.
'web > python & JavaScript' 카테고리의 다른 글
python flask session(세션) (0) | 2022.11.01 |
---|---|
python Flask + mongoDB (0) | 2022.10.25 |
python) 크롤링(crawling) 스크래핑(scraping) (0) | 2022.10.21 |
python requests parsing (0) | 2022.10.21 |
Ajax Get Post 동작 방식 (0) | 2022.10.20 |