การรีสตาร์ทเซิร์ฟเวอร์ 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 เริ่มต้นเซิร์ฟเวอร์การพัฒนาบน IP ภายในที่พอร์ต 8000
หากคุณต้องการเปลี่ยนพอร์ตของเซิร์ฟเวอร์ให้ส่งผ่านเป็นอาร์กิวเมนต์บรรทัดคำสั่ง ตัวอย่างเช่นคำสั่งนี้เริ่มเซิร์ฟเวอร์บนพอร์ต 8080:
python manage.py runserver 8080
เราไม่ใช้คำสั่งนี้ {sudo lsof -t -i tcp: 8000 | xargs kill -9} เพราะมันปิดแท็บทั้งหมด ... คุณควรใช้
ps -ef | หลาม grep
kill -9 process_id
ps -ef | grep python (แสดงกระบวนการทั้งหมดด้วย id)
kill -9 11633 (11633 เป็นรหัสกระบวนการไปยัง: - / bin / python Manage.py runserver)
นี่คือการขยายตัวในคำตอบของ Mounir ฉันได้เพิ่มสคริปต์ทุบตีที่ครอบคลุมสิ่งนี้ให้คุณ เพียงแค่เรียกใช้./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 ทั้งหมดที่ทำงานบนเครื่องของคุณและจะเพิ่มพอร์ตทั้งหมดของคุณ ช่วยฉันมากเวลาทำงานในโครงการDjango
สำหรับฉันสิ่งนี้เกิดขึ้นเพราะคำขอ API ของฉันในบุรุษไปรษณีย์ถูกดักจับโดยจุดพักดีบักเกอร์ในแอปของฉัน ... ออกจากการร้องขอค้างไว้ หากฉันยกเลิกคำขอในบุรุษไปรษณีย์ก่อนที่จะฆ่าเซิร์ฟเวอร์แอปของฉันข้อผิดพลาดจะไม่เกิดขึ้นตั้งแต่แรก
-> ดังนั้นให้ลองยกเลิกคำขอเปิดที่คุณทำในโปรแกรมอื่น
ใน macOS ฉันใช้sudo lsof -t -i tcp:8000 | xargs kill -9
เมื่อฉันลืมที่จะยกเลิกการร้องขอ http แบบเปิดเพื่อแก้ไขปัญหาerror = That port is already in use.
นี้ด้วยเช่นกันการปิดแอพบุรุษไปรษณีย์ของฉันเสร็จสมบูรณ์ซึ่งเป็นสาเหตุที่โซลูชันแรกของฉันดีกว่า
พิมพ์ 'fg' เป็นคำสั่งหลังจากนั้น ctl-c
คำสั่ง:
Fg จะแสดงว่ากำลังทำงานอยู่บนพื้นหลังใด หลังจากนั้น ctl-c จะหยุดมัน
fg
ctl-c
ps aux | grep จัดการ
ubuntu 3438 127.0.0 2.3 40256 14064 pts / 0 T 06:47 0:00 python Manage.py runserver
ฆ่า -9 3438
ดูเหมือนว่า IDEs, VSCode, Puppeteer, nodemon, express, ฯลฯ ทำให้เกิดปัญหานี้คุณรันกระบวนการในพื้นหลังหรือเพิ่งปิดพื้นที่แก้จุดบกพร่อง [เบราว์เซอร์เทอร์มินัล ฯลฯ ] หรืออะไรก็ตามฉันตอบคำถามเดียวกัน ก่อนหน้านี่คือลิงค์
lsof -t -i tcp: 8000 | xargs kill -9
ในกรณีที่คุณใช้จอเทอร์มินัลหน้าจอของ VSC ข้อผิดพลาดอาจเกิดจากข้อเท็จจริงที่ว่าคุณได้รันเซิร์ฟเวอร์ในเชลล์อื่นแล้ว
เพียงคลิกที่ดรอปบ็อกซ์ทางด้านซ้ายของเครื่องหมาย + ในส่วนหัวของเทอร์มินัลของ VSC และเลือกเชลล์อื่น ๆ และตรวจสอบว่าเซิร์ฟเวอร์ทำงานอยู่ที่นั่นหรือไม่ ออกจากเซิร์ฟเวอร์นั้นและคุณพร้อมที่จะเปิดใช้เซิร์ฟเวอร์อื่น
sudo lsof -i tcp:8000
แล้วฆ่ารหัสกระบวนการที่ปรากฏขึ้น