重新启动Django服务器会出现以下错误:
this port is already running....
这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?
重新启动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
其他回答
在终端输入ps aux | grep runserver 回车 在结果中使用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。我们需要在这些进程中选择我们想要终止的进程。
很抱歉在旧帖子里发表评论,但它可能会帮助到人们
在你的终端机上打这个
killall -9 python3
它会杀死你机器上运行的所有python3,并释放你的所有端口。极大地帮助我在Django项目中工作。
不要使用CTRL + Z来停止服务器,使用CTRL + C来停止服务器,我在我的linux (fedora)中也有同样的问题,我曾经使用CTRL + Z停止服务器,再次使用sudo fuser -k 8000/tcp命令杀死服务器,这工作得很好。但后来当我开始使用CTRL + C时,我不再遇到端口运行的问题。
如果你在MAC中遇到这个问题,你只需要打开活动监视器并强制相当python,然后再试一次
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