微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在退出我的应用程序时终止python.exe * 32进程?

我已经在Windows 7下使用wxpython GUI编写了一个python(2.7)应用程序。当我运行该应用程序时,我看到一个python.exe*32进程在任务pipe理器中启动。 当我退出应用程序(使用wxpython的Window.Close()方法closuresGUI窗口)时, python.exe*32进程仍然存在。 当我再次运行应用程序时,第二个python.exe * 32进程启动,并继续。 每个python.exe*32进程需要大约180 MB的内存,并减慢计算机。

我这样开始我的应用程序:

if __name__ == "__main__": app = wx.App(False) frame = MainWindow("MyApp") frame.Show() app.MainLoop()

当我退出我的应用程序时,如何使python.exe*32进程终止?

ptrace PTRACE_ATTACH失败 – 用户拥有的进程的Linux权限

何时/为什么要使用heapmin?

GWT,Maven – 无法为对象堆预留足够的空间

ColdFusion可以访问Windows内存值

Linux上的虚拟内存大小

一个进程可以覆盖另一个进程的内存吗?

跟踪和降低GD手柄的最佳方法是什么?

Windows内存映射文件

找出一个进程在Linux上使用多less内存页面

如何查看Windows 7上的系统caching内存

代码的末尾添加一个sys.exit(1) ,这将给父进程一个返回代码,该代码应该终止父代,即Python。

注意:如果线程单独运行,不要将sys.exit(1)放在GUI“close”函数的后面,否则会导致数据丢失和“拧紧”打开的套接字(如果有的话)。

这是做到这一点的正确方法

class MainWindow(wx.Frame): def __init__(self,title): wx.Frame.__init__(self,None,title=title,pos=(150,150),size=(350,200)) self.Bind(wx.EVT_CLOSE,self.OnClose) def OnClose(self,event): self.Destroy() # or simply do sys.exit(1) here if __name__ == "__main__": app = wx.App(False) frame = MainWindow("MyApp") frame.Show() app.MainLoop() sys.exit(1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐