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

this port is already running....

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


当前回答

点击截图中的箭头,找到已经运行Django服务器的bash。您收到此消息是因为您的服务器已经在运行,您试图再次启动服务器。

其他回答

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应用程序。

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

编辑:

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

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

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

我们不使用这个命令{sudo lsof -t -i tcp:8000 | xargs kill -9},因为它关闭了所有选项卡…你应该用to

Ps -ef | grep python Kill -9 process_id

显示所有带id的grep进程

杀死-9 11633 (11633是进程id到:- /bin/python manage.py runserver)