python进程杀除及子程序调用

转载 2012年03月26日 10:08:17
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)
但这种形式,打包程序会出错。(不推荐使用这种方式)
  1. #process kill.py  
  2. #www.hbxcyz.cn  
  3. class Check_Version():  
  4.     def Check_Version_function(self):  
  5.        self.keyname = '''''Software//Microsoft//Windows//CurrentVersion 
  6.        //Uninstall//JoinAir'''  
  7.        self.key_uninstall = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE  
  8.                                                 ,self.keyname,0,win32con.KEY_ALL_ACCESS)  
  9.        self.filename_uninstall = win32api.RegQueryValueEx(self.key_uninstall,  
  10.                                                           'UninstallString')  
  11.        win32api.RegCloseKey(self.key_uninstall)  
  12.        self.Check_Compare()  
  13.        if self.flag ==1:  
  14.           self.MyDialog = Check_Dialog()  
  15.           if self.MyDialog.ShowModal()== wx.ID_OK:  
  16.               #运行卸载程序  
  17.               print self.filename_uninstall  
  18.               os.execl(self.filename_uninstall[0])  
  19.               wx.GetApp().ExitMainLoop()  
  20.           else:  
  21.               wx.GetApp().ExitMainLoop()  
  22.        else:  
  23.           self.MyDialog = Check_Dialog()  
  24.           if self.MyDialog.ShowModal()==wx.ID_OK:  
  25.              #运行卸载程序  
  26.              os.execl(self.filename_uninstall[0])  
  27.              wx.GetApp().ExitMainLoop()  
  28.           else:  
  29.              wx.GetApp().ExitMainLoop()    

python 如何优雅地退出子进程

python 如何优雅地退出子进程主进程产生子进程,子进程进入永久循环模式。当主进程要求子进程退出时,如何能安全地退出子进程呢?参考一些代码,我写了这个例子。运行之后,用kill pid试试。pid是...
  • cheungmine
  • cheungmine
  • 2016年07月13日 15:54
  • 14429

python 根据pid杀死相应进程

python 根据pid杀死相应进程, 代码如下#! /usr/bin/python # -*- coding: utf-8 -*-import os import sys import signal...
  • Cryhelyxx
  • Cryhelyxx
  • 2015年04月17日 14:50
  • 9366

subprocess.popen.kill杀死所有子进程

使用subprocess模块可创建子进程。subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, std...
  • heihuifeng
  • heihuifeng
  • 2011年06月14日 11:58
  • 9162

python的subprocess:子程序调用(调用执行其他命令);获取子程序脚本当前路径问题

python subprocess用于程序执行时调用子程序,通过stdout,stdin和stderr进行交互。 Stdout子程序执行结果返回,如文件、屏幕等 Stdin 子程序执行时的输入,如...
  • longshenlmj
  • longshenlmj
  • 2015年04月21日 18:48
  • 5229

linux下杀死进程(kill)的N种方法 包括python–killproc

使用 pip 安装 一般的杀死进程过程如下 $ ps -ef | grep django-admin.py | grep -v grep 501 20060 1 0 0:00...
  • huangjin0507
  • huangjin0507
  • 2016年09月19日 16:22
  • 5069

python定时杀进程

python定时杀进程 之前写了个python脚本用selenium+phantomjs爬新帖子,在循环拉取页面的过程中,phantomjs总是block住,使用WebDriverWait设置最...
  • caozhankui
  • caozhankui
  • 2016年06月06日 15:47
  • 6398

Python 检测 杀掉 指定 windows 进程

例:检测 "sogou-gui.exe" 的进程
  • iloveshenyun
  • iloveshenyun
  • 2014年04月06日 20:33
  • 1559

windows平台下如何用Python杀进程

#!/usr/bin/env python#coding=utf-8'''Python语言: windows平台下如何用Python杀进程'''#from : http://www.joyloft.n...
  • longzhiwen888
  • longzhiwen888
  • 2015年06月19日 16:16
  • 840

主进程退出的时候,杀死所有子进程

大家可能会遇到这样一种情况,自己编写代码的时候,zh
  • yupei881027
  • yupei881027
  • 2014年10月29日 16:11
  • 1418

shell脚本杀死进程及所有子进程

在一个C++项目中,程序启动时通过systemdia
  • jinjiaoooo
  • jinjiaoooo
  • 2014年08月02日 16:56
  • 4507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python进程杀除及子程序调用
举报原因:
原因补充:

(最多只允许输入30个字)