我正在 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()
