重新启动Django服务器会出现以下错误:

this port is already running....

这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?


当前回答

这是对穆尼尔答案的扩展。我已经为您添加了一个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

其他回答

这是对穆尼尔答案的扩展。我已经为您添加了一个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

一个更简单的解决方案是键入sudo fuser -k 8000/tcp。 这将杀死与端口8000关联的所有进程。

编辑:

对于osx用户,可以使用sudo lsof -t -i tcp:8000 | xargs kill -9

在Ctrl-C之后键入'fg'作为命令。 命令: Fg将显示哪个在后台运行。之后,按Ctrl-C将停止它。

成品 ctl-c

我尝试了所有的解决方案,但它们都不起作用,我建议你继续按下电源按钮,或者如果你的电池是可拆卸的,然后将其移除,所有进程将被杀死,你的本地主机将被重置

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