我有一个Python脚本,通过在终端中使用“python main.py”调用。它启动了一个Qt-GUI,并成功执行并在关闭GUI时终止。
然而,有时会打印最后一个调试消息“结束”,但脚本本身不会终止。无论是ctrl+c、ctrl+d还是ctrl+z都没有任何影响。我认为这似乎发生在程序内抛出异常(并被GUI捕获)时发生。
我不知道如何调试这个问题,因为显然它不会发生在GUI本身。如何调试并找出我做错了什么?
然而,有时会打印最后一个调试消息“结束”,但脚本本身不会终止。无论是ctrl+c、ctrl+d还是ctrl+z都没有任何影响。我认为这似乎发生在程序内抛出异常(并被GUI捕获)时发生。
我不知道如何调试这个问题,因为显然它不会发生在GUI本身。如何调试并找出我做错了什么?
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
form = MainGui()
form.show()
app.exec_()
print "over and out"
编辑:看起来在最后仍有一些线程仍在运行。然而,我并没有显式地使用线程(我不知道Qt在内部做了什么...)。有没有一种方法可以查看所有正在运行的线程?
编辑2:我的天啊。解决方案就是重新启动系统。不知何故,我的操作系统做了一些疯狂的事情,阻止了脚本的终止。