Django 서버 오류: 포트가 이미 사용 중입니다.
Django 서버를 재시작하면 다음 오류가 나타납니다.
this port is already running....
이 문제는 Ubuntu에서만 발생하며 다른 OS에서는 발생하지 않습니다.서버를 재부팅하기 위해 포트를 해방하려면 어떻게 해야 합니까?
더 은 그냥 ""라고 입력합니다.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
lsof -t -i tcp:8000 | xargs kill -9
오래된 게시물에 댓글을 달아서 미안하지만, 사람들에게 도움이 될 수 있습니다.
단말기에 입력하기만 하면 됩니다.
killall -9 python3
머신상에서 동작하고 있는 모든 python3 를 종료하고, 모든 포토를 해방합니다.장고 프로젝트에서 일할 때 큰 도움이 됩니다.
이 명령어 {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 (http 33은 manage.py runserver 에 대한 프로세스 ID 입니다)
>> ps aux | grep manage
ubuntu 3438 127.0.0 2.3 40256 14064 pts/0 T 06:47 0:00 python manage.py runserver
>> kill -9 3438
그 뒤에 명령어로 'fg'를 입력합니다.
★★★★★★★★★★★★★★★★★★:
Fg는 백그라운드에서 실행 중인 항목을 표시합니다.그 후엔 멈출 거야
fg
ctl-c
이치노배쉬하다 뛰어!./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
- '먹다'라고 입력합니다.
ps aux | grep runserver
- Enter 키를 누르다
- 실행 중 PID를 합니다.
kill -9 <PID>
예를 들어, 1단계의 결과가 다음과 같다.
root 1041 0.0 0.1 266912 34580 pts/3 S+ 11:31 0:01 python3 manage.py runserver 0.0.0.0:3030
root 1696 4.5 0.1 126128 40708 ? S Feb14 925:43 /usr/local/bin/python manage.py runserver 0.0.0.0:8000
1041 및 1696은 PID입니다.우리는 그들 중에서 죽이고 싶은 과정을 선택해야 한다.
이것은 Postman의 API 요청이 앱의 디버거 중단점에 의해 가로채기 때문에 발생합니다.요청을 보류합니다.앱 서버를 종료하기 전에 Postman에서 요청을 취소하면 처음부터 오류가 발생하지 않습니다.
--> 그 때문에, 다른 프로그램에서의 오픈 요구를 취소해 주세요.
macOS에서 사용하고 있는 것은sudo lsof -t -i tcp:8000 | xargs kill -9
오픈 http 요청을 취소하는 것을 잊은 경우error = That port is already in use.
또, 이것으로 Postman 앱이 종료되기 때문에, 제 첫 번째 솔루션이 더 좋은 것입니다.
스크린샷의 화살표를 클릭하여 Django 서버가 이미 실행되고 있는 bash를 찾습니다.서버가 이미 실행 중이고 서버를 다시 시작하려고 했기 때문에 메시지를 받았습니다.
Mac에서 이 문제가 발생하면 액티비티 모니터를 열고 python을 강제로 실행한 다음 다시 시도합니다.
VSC의 화면 터미널을 사용하는 경우 다른 셸에서 이미 서버를 실행하고 있기 때문에 오류가 발생할 수 있습니다.
VSC 터미널 헤더에 있는 + 기호 왼쪽에 있는 드롭다운 상자를 클릭하고 다른 셸을 선택하여 서버가 이미 실행 중인지 확인합니다.해당 서버를 종료하면 다른 서버를 시작할 준비가 됩니다.
서버를 정지할 때는 CTRL + Z를 사용하지 말고, 서버를 정지할 때는 CTRL + C를 사용합니다.리눅스(fedora)에서도 같은 문제가 있었습니다.CTRL + Z를 사용하여 서버를 정지하고, sudo fuser -k 8000/tcp 명령어를 사용하여 서버를 정지했습니다.이 명령어는 정상적으로 동작했습니다.그러나 나중에 CTRL + C를 사용하기 시작했을 때 포트 실행 문제가 발생하지 않게 되었습니다.
언급URL : https://stackoverflow.com/questions/20239232/django-server-error-port-is-already-in-use
'sourcecode' 카테고리의 다른 글
다른 검색/매핑 배열에 따라 배열의 키를 바꿉니다. (0) | 2022.09.06 |
---|---|
AJAX 요청은 PHP 세션 정보를 유지합니까? (0) | 2022.09.06 |
어떻게 하면 WAMP에서 마리아db를 제대로 제거할 수 있을까? (0) | 2022.09.05 |
WHERE 절에서 mysql SUM()을 사용합니다. (0) | 2022.09.05 |
Java에서 범용 어레이 유형을 생성할 수 없는 이유는 무엇입니까? (0) | 2022.09.05 |