[python] Django Server Error : 포트가 이미 사용 중입니다

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


답변

이 명령은 사용하지 않습니다. {sudo lsof -t -i tcp : 8000 | xargs kill -9} 모든 탭이 닫혀 있기 때문에 …

ps -ef | grep python

kill -9 process_id

ps -ef | grep python (id로 모든 프로세스 표시)

kill -9 11633 (11633은 :-/ bin / python manage.py runserver의 프로세스 ID 임)


답변

이것은 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


답변

오래된 게시물에 댓글을 달아 죄송하지만 사람들에게 도움이 될 수 있습니다

터미널에 이것을 입력하십시오.

killall -9 python3

컴퓨터에서 실행중인 모든 python3을 종료시키고 모든 포트를 해제합니다. 장고 프로젝트 에서 일할 때 크게 도와주세요 .