A. 이미 띄워둔 Django 서버가 아직 종료되지 않아서 같은 포트에 띄울 수 없는 경우
B. 다른 서비스가 사용중인 경우
sudo fuser -k 8000/tcp
(8000 포트와 연관되어 있는 모든 프로세스 종료)
참고) OS X 유저는 sudo lsof -t -i tcp:8000 | xargs kill -9
(저는 이 코드로 해결했음)
#1 netstat -ntlp
tcp 정보 중에서 'listening' 상태인 소켓의 정보를 '10진수'로 변환하여 보여주며 실행되고 있는 프로그램과 PID 정보를 출력한다.
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 6599/python
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 192.168.124.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN
#2 이제 PID(프로세스 ID)를 입력해 프로세스를 종료하면 됩니다.
kill -9 PID
형태로 터미널에서 입력 -> kill -9 6599
위의 2가지 방법이 stackoverflow에서 가장 많이 추천을 받았습니다.
명심!! 서버 실행 후 중지는 항상 Ctrl + C로 잊지 말고 종료하자 ^^
Reference : https://stackoverflow.com/questions/20239232/django-server-error-port-is-already-in-use
Reference : https://kitle.xyz/post/132/