Django 서버를 다시 시작하면 다음 오류가 표시됩니다.
this port is already running....
이 문제는 다른 운영 체제가 아닌 Ubuntu에서 특히 발생합니다. 서버를 다시 시작하기 위해 포트를 비울 수 있습니까?
Django 서버를 다시 시작하면 다음 오류가 표시됩니다.
this port is already running....
이 문제는 다른 운영 체제가 아닌 Ubuntu에서 특히 발생합니다. 서버를 다시 시작하기 위해 포트를 비울 수 있습니까?
답변:
더 간단한 해결책은 그냥 입력하십시오 sudo fuser -k 8000/tcp
. 포트 8000과 관련된 모든 프로세스가 종료되어야합니다.
편집하다:
osx 사용자의 경우 사용할 수 있습니다 sudo lsof -t -i tcp:8000 | xargs kill -9
netstat -ntlp
이런 식으로 표시됩니다.
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
이제 Django / Python이 이미 실행중인 포트를 닫으십시오.
kill -9 PID
나의 경우에는
kill -9 6599
이제 Django 앱을 실행하십시오.
ps aux | grep -i manage
after that you will see all process
ubuntu@ip-10-154-22-113:~/django-apps/projectname$ ps aux | grep -i manage
ubuntu 3439 0.0 2.3 40228 14064 pts/0 T 06:47 0:00 python manage.py runserver project name
ubuntu 3440 1.4 9.7 200996 59324 pts/0 Tl 06:47 2:52 /usr/bin/python manage.py runserver project name
ubuntu 4581 0.0 0.1 7988 892 pts/0 S+ 10:02 0:00 grep --color=auto -i manage
kill -9 process id
e.d kill -9 3440
`enter code here`after that :
python manage.py runserver project name
기본적으로 runserver 명령은 포트 8000의 내부 IP에서 개발 서버를 시작합니다.
서버 포트를 변경하려면 명령 줄 인수로 전달하십시오. 예를 들어이 명령은 포트 8080에서 서버를 시작합니다.
python manage.py runserver 8080
이것은 Mounir의 답변에 대한 확장입니다. 이 내용을 다루는 bash 스크립트를 추가했습니다. ./scripts/runserver.sh
대신 실행하면 ./manage.py runserver
정확히 같은 방식으로 작동합니다.
#!/bin/bash
pid=$(ps aux | grep "./manage.py runserver" | grep -v grep | head -1 | xargs | cut -f2 -d" ")
if [[ -n "$pid" ]]; then
kill $pid
fi
fuser -k 8000/tcp
./manage.py runserver
나에게 이것은 Postman의 API 요청이 내 앱의 디버거 중단 점에 의해 가로 채기 때문에 발생합니다. 앱 서버를 종료하기 전에 Postman에서 요청을 취소하면 처음에는 오류가 발생하지 않습니다.
-> 따라서 다른 프로그램에서 진행중인 모든 요청을 취소하십시오.
macOS에서는 sudo lsof -t -i tcp:8000 | xargs kill -9
해결하기 위해 열린 http 요청을 취소하는 것을 잊었을 때 사용 하고 있습니다. error = That port is already in use.
또한 완료하면 Postman 앱이 닫히 므로 첫 번째 솔루션이 더 좋습니다.
ctl-c 다음에 'fg'를 명령으로 입력하십시오.
커맨드 :
Fg는 백그라운드에서 실행중인 것을 보여줍니다. 그 후 ctl-c가 중지합니다.
fg
ctl-c
PS AUX | grep 관리
우분투 3438127.0.0 2.3 40256 14064 pts / 0 T 06:47 0:00 python manage.py runserver
죽이기 -9 3438
IDE, VSCode, Puppeteer, nodemon, express 등 이이 문제를 유발하는 것으로 보입니다. 백그라운드에서 프로세스를 실행했거나 디버깅 영역 (브라우저, 터미널 등)을 닫았거나 어쨌든 같은 질문에 대답했습니다. 전에, 여기 당신은 링크입니다
sudo lsof -i tcp:8000
에서는 표시되는 프로세스 ID 를 사용해야 합니다.