您的位置:首页 > 编程语言 > Python开发

python进程杀除及子程序调用

2010-10-19 18:47 281 查看
1. 在python调用子程序进程时,有几种方式:
os.system(command)
os..execl(path)(查看帮助文档,里面有一系列的函数族,关于调用子程序的)
第一种情况下,调用子程序,父进程不会消失掉,当子进程结束时,会返回到父进程继续运行。
第二种情况下,调用子程序,父进程立刻结束,当子进程结束时整个进程结束。
当能还有其他的方式调用子程序:
Win32api.ShellExecute(hwnd,op,file,parames,dir,bshow)
例:win32api.shellExecute(0,”open”,path,””,””,)
建议调用python自带的内建模型,尽量做到系统无关性。

2. 在wxpython中如何结束主进程
在运行wxpython程序时,有时要非正常的结束程序,但实际上程序并没有结束。下面有两种退出程序的方式,以及一种非正常的退出方式:
wx.GetApp().ExitMainLoop()
wx.Exit()
如果需要中途退出程序的话可以使用上面两种方式(建议第一中)

还有一种非正常的退出方式
exit(1)
但这种形式,打包程序会出错。(不推荐使用这种方式)
#process kill.py
#www.hbxcyz.cn
class Check_Version():
def Check_Version_function(self):
self.keyname = '''Software//Microsoft//Windows//CurrentVersion
//Uninstall//JoinAir'''
self.key_uninstall = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE
,self.keyname,0,win32con.KEY_ALL_ACCESS)
self.filename_uninstall = win32api.RegQueryValueEx(self.key_uninstall,
'UninstallString')
win32api.RegCloseKey(self.key_uninstall)
self.Check_Compare()
if self.flag ==1:
self.MyDialog = Check_Dialog()
if self.MyDialog.ShowModal()== wx.ID_OK:
#运行卸载程序
print self.filename_uninstall
os.execl(self.filename_uninstall[0])
wx.GetApp().ExitMainLoop()
else:
wx.GetApp().ExitMainLoop()
else:
self.MyDialog = Check_Dialog()
if self.MyDialog.ShowModal()==wx.ID_OK:
#运行卸载程序
os.execl(self.filename_uninstall[0])
wx.GetApp().ExitMainLoop()
else:
wx.GetApp().ExitMainLoop()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: