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

this port is already running....

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


当前回答

lsof -t -i tcp:8000 | xargs kill -9

其他回答

>> 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

在终端输入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。我们需要在这些进程中选择我们想要终止的进程。

对我来说,这是因为我在Postman中的API请求正在被我的应用程序中的调试器断点拦截…让请求挂起。如果我在关闭应用程序的服务器之前取消了Postman中的请求,错误就不会发生。

所以试着取消你在其他程序中发出的任何打开的请求。

在macOS上,我一直在使用sudo lsof -t -i tcp:8000 | xargs kill -9当我忘记取消打开的http请求,以解决错误=该端口已经在使用中。这也完全关闭了我的邮递员应用程序,这就是为什么我的第一个解决方案更好。

很抱歉在旧帖子里发表评论,但它可能会帮助到人们

在你的终端机上打这个

killall -9 python3

它会杀死你机器上运行的所有python3,并释放你的所有端口。极大地帮助我在Django项目中工作。

如果您正在使用VSC的屏幕终端,该错误可能是由于您已经在其他shell中运行server的事实。

只需单击VSC终端头部+符号左侧的dropbox,并选择一些其他shell,检查服务器是否已经在那里运行。退出该服务器并准备启动另一个服务器。