重新启动Django服务器会出现以下错误:
this port is already running....
这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?
重新启动Django服务器会出现以下错误:
this port is already running....
这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?
当前回答
对我来说,这是因为我在Postman中的API请求正在被我的应用程序中的调试器断点拦截…让请求挂起。如果我在关闭应用程序的服务器之前取消了Postman中的请求,错误就不会发生。
所以试着取消你在其他程序中发出的任何打开的请求。
在macOS上,我一直在使用sudo lsof -t -i tcp:8000 | xargs kill -9当我忘记取消打开的http请求,以解决错误=该端口已经在使用中。这也完全关闭了我的邮递员应用程序,这就是为什么我的第一个解决方案更好。
其他回答
>> 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
对我来说,这是因为我在Postman中的API请求正在被我的应用程序中的调试器断点拦截…让请求挂起。如果我在关闭应用程序的服务器之前取消了Postman中的请求,错误就不会发生。
所以试着取消你在其他程序中发出的任何打开的请求。
在macOS上,我一直在使用sudo lsof -t -i tcp:8000 | xargs kill -9当我忘记取消打开的http请求,以解决错误=该端口已经在使用中。这也完全关闭了我的邮递员应用程序,这就是为什么我的第一个解决方案更好。
我尝试了所有的解决方案,但它们都不起作用,我建议你继续按下电源按钮,或者如果你的电池是可拆卸的,然后将其移除,所有进程将被杀死,你的本地主机将被重置
一个更简单的解决方案是键入sudo fuser -k 8000/tcp。 这将杀死与端口8000关联的所有进程。
编辑:
对于osx用户,可以使用sudo lsof -t -i tcp:8000 | xargs kill -9
这是对穆尼尔答案的扩展。我已经为您添加了一个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