Skip to main content
 首页 » 编程设计

python之如何在不单击 "CTRL + C"的情况下通过 cmd 中的命令停止 Django 服务器

2025年05月04日30kevingrace

我正在 PySide2 上编写我的桌面应用程序(这并不重要)以控制 Django 项目(在按钮上运行服务器和停止服务器)。我只意识到启动服务器,但我无法添加停止服务器,因为停止服务器是在 cmd 中单击按钮 "CTRL + C" 而我现在不知道如何将按钮的单击解释为代码或此问题的任何答案。

这是“运行服务器”的示例,我需要一些“停止服务器”的帮助

os.chdir(ui.lineEdit.text())   # Change directory 
os.system("python manage.py runserver")   # Run server in this 

请您参考如下方法:

Ctrl+C 是终端解释的东西。它会向正在运行的进程发送一个 SIGINT 信号。因此终止应用程序的不是 Ctrl+C 本身。

您也可以这样做,例如首先使用 Popen(..) 打开一个进程,然后最终发送一个信号:

from subprocess import Popen 
from signal import SIGINT 
 
# start the process 
p = Popen(['python', 'manage.py', 'runserver']) 
 
# now stop the process 
p.send_signal(SIGINT) 
p.wait()