[英]django development server, how to stop it when it run in background?
我使用雲服務器測試我的django小項目,我輸入manage.py runserver
然后我退出我的雲服務器,我可以正常訪問我的網站,但是當我重新加載我的雲服務器時,我不知道如何停止開發服務器,我必須殺死進程才能停止它,有沒有辦法停止開發?
答案可以通過谷歌找到——並在其他論壇中得到解答。 Unix & Linux StackExchange 站點上提供了示例解決方案。
明確地說,你可以這樣做:
ps auxw | grep runserver
這將返回進程及其各自的 PID,例如:
de 7956 1.8 0.6 540204 55212 ? Sl 13:27 0:09 /home/de/Development/sampleproject/bin/python ./manage.py runserver
在這種特殊情況下,PID 是7956
。 現在只需運行它來停止它:
kill 7956
為了清楚/解決一些評論,您必須這樣做,因為您在后台運行開發服務器(命令中的&
)。 這就是為什么沒有“內置”的 Django 停止選項......
一個班輪..
pkill -f runserver
好吧,這似乎是 django 沒有提供停止開發服務器的命令的錯誤。 之前還以為有呢~~~~~
據我所知 ctrl+c 或 kill process 只是在遠程機器上執行此操作的方法。 如果您將使用 Gunicorn 服務器或類似的東西,您將能夠使用 Supervisor 做到這一點。
Ctrl+c 應該可以工作。 如果沒有 Ctrl+/ 將強制終止進程。
在任務管理器中,您可以結束正在運行的 Python 任務。 現在從你的項目目錄運行python manage.py runserver
,它會工作。
嘗試這個
lsof -t -i tcp:8000 | xargs kill -9
在 Windows 的Command Prompt
中以編程方式使用.bat
腳本:
@ECHO OFF
SET /A port=8000
FOR /F "tokens=5" %%T IN ('netstat -ano ^| findstr :%port%') DO (
SET /A processid=%%T
TASKKILL /PID %%T /F
)
給
SUCCESS: The process with PID 5104 has been terminated.
這在 windows 上對我有用。
使用以下命令列出所有連接和偵聽端口 (-a) 及其 PID (-o)。
netstat -a -o
然后使用它來殺死進程
taskkill /PID PUT_THE_PID_HERE /F
您可以通過按CTRL-BREAK退出服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.