gpt4 book ai didi

python - PyQt 应用程序成功关闭,但进程没有被终止?

转载 作者:行者123 更新时间:2023-11-28 20:45:50 25 4
gpt4 key购买 nike

我刚刚注意到当我运行一个 pyqt 应用程序并关闭它时,应用程序关闭了,但进程仍然存在。显然,即使在关闭应用程序后,正在运行的进程也不会关闭。

Traceback (most recent call last):
File "F:\Projects\XYZ\XYZ\XYZ.py", line 414, in <module>
sys.exit(app.exec_())
SystemExit: 0

网上查了一下,说如果返回值为0,就是正常终止。如您所见,在我运行应用程序时,该过程不断累积。

enter image description here

那么我该如何克服这个问题呢?

最佳答案

解决方案

这是我能够解决此问题的快速修复。

import psutil, os

def kill_proc_tree(pid, including_parent=True):
parent = psutil.Process(pid)
for child in parent.children(recursive=True):
child.kill()
if including_parent:
parent.kill()


app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow() # <-- Instantiate QMainWindow object.
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
app.exec_()


me = os.getpid()
kill_proc_tree(me)

关于python - PyQt 应用程序成功关闭,但进程没有被终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com