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

前提:

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

本文结合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型号,当前运行的进程,自启动程序及位置,系统的版本等信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值