重新启动Django服务器会出现以下错误:
this port is already running....
这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?
重新启动Django服务器会出现以下错误:
this port is already running....
这个问题只发生在Ubuntu上,而不是其他操作系统上。如何释放端口以重新启动服务器?
当前回答
默认情况下,runserver命令在8000端口上启动内部IP上的开发服务器。
如果要更改服务器的端口,请将其作为命令行参数传递。例如,这个命令在端口8080上启动服务器:
python manage.py runserver 8080
其他回答
对我来说,这是因为我在Postman中的API请求正在被我的应用程序中的调试器断点拦截…让请求挂起。如果我在关闭应用程序的服务器之前取消了Postman中的请求,错误就不会发生。
所以试着取消你在其他程序中发出的任何打开的请求。
在macOS上,我一直在使用sudo lsof -t -i tcp:8000 | xargs kill -9当我忘记取消打开的http请求,以解决错误=该端口已经在使用中。这也完全关闭了我的邮递员应用程序,这就是为什么我的第一个解决方案更好。
默认情况下,runserver命令在8000端口上启动内部IP上的开发服务器。
如果要更改服务器的端口,请将其作为命令行参数传递。例如,这个命令在端口8080上启动服务器:
python manage.py runserver 8080
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应用程序。
如果您正在使用VSC的屏幕终端,该错误可能是由于您已经在其他shell中运行server的事实。
只需单击VSC终端头部+符号左侧的dropbox,并选择一些其他shell,检查服务器是否已经在那里运行。退出该服务器并准备启动另一个服务器。
很抱歉在旧帖子里发表评论,但它可能会帮助到人们
在你的终端机上打这个
killall -9 python3
它会杀死你机器上运行的所有python3,并释放你的所有端口。极大地帮助我在Django项目中工作。