当前位置:   article > 正文

win python 怎么创建一个独立的进程_Windows 下针对python脚本做一个简单的进程保护...

python 调用其它exe 创建独立进程

前提:

大家运行的脚本程序经常会碰到系统异常关闭、或被其他用户错杀的情况。这样就需要一个进程保护的工具。

本文结合windows 的计划任务,实现一个简单的进程保护的功能。

利用py2exe生产 exe 文件.

py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.

创建py2exehelper.py文件 具体代码如下:

__author__ = 'Bruce_Zhou'

from distutils.core importsetupimportpy2exe

setup(console=['uniquetest.py'],)

View Code

创建 uniquetest.py 代码如下:

__author__ = 'Bruce_Zhou'

importthreadingimporttimeimporturllib2importosclassCountDownTimer(threading.Thread):def __init__(self, seconds, action):

self.runTime=seconds

self.action=action

super(CountDownTimer, self).__init__()defrun(self):

counter=self.runTimefor sec inrange(self.runTime):printcounter

time.sleep(1.0)

counter-= 1

print "Time's up"self.action()defdosomethine():print "I'm ready"t= CountDownTimer(1800, dosomethine)

t.start()if __name__ == "__main__":

t= CountDownTimer(10, dosomethine)

t.start()

View Code

将py2exehelper.py 和uniquetest.py 放在同一目录。

进入py2exehelper.py文件所在目录。

执行命令: python py2exehelper.py py2exe。

会在目录中创建两个文件夹”bulid” 和 “dist”。你可以在dist 目录中找到你需要的exe 文件。

2.利用计划任务定时检测EXE是否运行。

创建checkexe.py脚本用于检测进程是否存在,如果不存在则开启一个新的,如果存在则什么都不做。

你可以设定计划任务每隔多长时间久去执行下这个脚本,这样就可以保证EXE始终保持运行。

代码如下:

importwmiimportsubprocessimportosfrom win32com.client importDispatch

c=wmi.WMI()defcheckexe():for process inc.Win32_Process():if process.Name == "uniquetest.exe":returnTruereturnFalseif __name__ == "__main__":printcheckexe()if notcheckexe():

subprocess.Popen([r'C:\Users\Bruce_Zhou\Desktop\2exe\dist\uniquetest.exe'])

View Code

其中WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/74754
推荐阅读
相关标签
  

闽ICP备14008679号