通常,当重新启动Django runserver时,如果我使用相同的端口号,我会得到一个"端口已经在使用中"的消息.随后,我需要每次增加端口号以避免这种情况.
然而,并非所有服务器都是如此,所以我想知道如何在我正在研究的当前系统上实现这一目标?
顺便说一句,该平台是Ubuntu 8.10
Mei*_*ilo 123
我发现这些信息(最初来自KristinnÖrnSigurðsson)来解决我的问题:
要使用-9将其终止,您必须列出所有正在运行的manage.py进程,例如:
ps aux | grep -i manage
Run Code Online (Sandbox Code Playgroud)
如果您已经开始使用许多端口,您将获得类似于此的输出:
14770 8264 0.0 1.9 546948 40904 ? S Sep19 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8006
14770 15215 0.0 2.7 536708 56420 ? S Sep13 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8001
14770 30144 0.0 2.1 612488 44912 ? S Sep18 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8000
14770 30282 0.0 1.9 678024 40104 ? S Sep18 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8002
14770 30592 0.0 2.1 678024 45008 ? S Sep18 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8003
14770 30743 0.0 2.1 678024 45044 ? S Sep18 0:00 /usr/local/bin/python manage.py runserver 0.0.0.0:8004
Run Code Online (Sandbox Code Playgroud)
然后你必须为正确的manage.py进程(python manage.py runserver等)选择pid(左边的第二个数字)并执行:
kill -9 pid
Run Code Online (Sandbox Code Playgroud)
对于上面的示例,如果要释放端口8000,则可以执行以下操作:
kill -9 30144
Run Code Online (Sandbox Code Playgroud)
mip*_*adi 40
您收到该消息是因为服务器已在运行(可能在后台).确保终止进程(将其置于前台并按ctrl-c)以停止进程.
abh*_*kar 29
如果该ps aux
命令(根据Meilo的回答)未列出您要杀死的进程但显示netstat -np | grep 8004
网络活动中的活动端口,请尝试此命令(在Ubuntu上工作).
sudo fuser -k 8004/tcp
Run Code Online (Sandbox Code Playgroud)
其中,8004是您要关闭的端口号.这应该会终止与端口8004相关的所有进程.
小智 14
不,他不是白痴家伙.同样的事情发生在我身上.显然这是一个python UUID进程的错误,在django服务器关闭后连续运行很长时间.
小智 5
sudo lsof -t -i tcp:8000 | xargs kill -9
Run Code Online (Sandbox Code Playgroud)
如果你想释放 8000 端口,而不仅仅是复制命令并粘贴到你的 cmd 中,它会要求输入 sudo 密码。然后你就可以走了。
归档时间: |
|
查看次数: |
66614 次 |
最近记录: |