参考链接: Python中断并继续

用Python脚本监测.py脚本的执行状态,并实现中断重启。

#!/usr/bin/python

# -*- coding:utf-8 -*-

import subprocess,time,sys

TIME = 10                        #程序状态检测间隔(单位:分钟)

CMD = "get_bjipku.py"                 #需要执行程序的绝对路径,支持jar 如:D:\\calc.exe 或者D:\\test.jar

class Auto_Run():

def __init__(self,sleep_time,cmd):

self.sleep_time = sleep_time

self.cmd = cmd

self.ext = (cmd[-3:]).lower()        #判断文件的后缀名,全部换成小写

self.p = None                        #self.p为subprocess.Popen()的返回值,初始化为None

self.run()                           #启动时先执行一次程序

try:

while 1:

time.sleep(sleep_time * 6)  #休息10分钟,判断程序状态

self.poll = self.p.poll()    #判断程序进程是否存在,None:表示程序正在运行 其他值:表示程序已退出

if self.poll is None:

print "运行正常"

else:

print "未检测到程序运行状态,准备启动程序"

self.run()

except KeyboardInterrupt as e:

print "检测到CTRL+C,准备退出程序!"

#            self.p.kill()                   #检测到CTRL+C时,kill掉CMD中启动的exe或者jar程序

def run(self):

if self.ext == ".py":

print ‘start OK!‘

self.p = subprocess.Popen([‘python‘,‘%s‘ % self.cmd], stdin = sys.stdin,stdout = sys.stdout, stderr = sys.stderr, shell = False)

else:

pass

app = Auto_Run(TIME,CMD)

[转载] python中断响应_用Python脚本监测.py脚本的进程状态,并实现中断重启。相关推荐

  1. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  2. 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...

    作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...

  3. python 字符识别_使用python进行光学字符识别入门

    python 字符识别 语言模型设计 (Language Model Designing) Optical Character Recognition is the conversion of 2-D ...

  4. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  5. 无法启动python怎么办_解决python写的windows服务不能启动的问题

    报"服务没有及时响应或控制请求"的错误,改用pyinstaller生成也是不行:查资料后修改setup.py如下即可,服务名.脚本名请自行替换: 复制代码 代码如下: #!/usr ...

  6. hadoop调用python算法_使用Python实现Hadoop MapReduce程序

    根据上面两篇文章,下面是我在自己的ubuntu上的运行过程.文字基本采用博文使用Python实现Hadoop MapReduce程序,  打字很浪费时间滴. 在这个实例中,我将会向大家介绍如何使用Py ...

  7. python 语义网络_从Python代码到APP,你只需要一个小工具:GitHub已超3000星

    机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个工具.近日,Streamlit 联合创始人 Adrien Treuille 撰文介绍 ...

  8. python 标准差_标准差python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 方差是每个值与均值的差值的平方的平均值,标准差是方差的平方根(这是有用的,因为取 ...

  9. python产品缺陷_基于python从redmine-api中获取项目缺陷数据(1)

    1.引言 本文主要内容是将如何利用 Python 对 Redmine缺陷进行缺陷数据获取操作.目前统计缺陷数据时基本是根据项目手动去redmine获取缺陷数据,至少要花费一个工作日去完成,目前的目标是 ...

最新文章

  1. 解决远程桌面无法连接问题
  2. android java 时间测试方法_一个让你开挂的Android 性能测试方法
  3. 100-48微软(运算)
  4. oracle日期虚数0去掉,第 14 章 使用复数运算库
  5. 将Tomcat加入windows系统服务
  6. Python:timeit库使用方法
  7. setTimeout/setInterval伪异步
  8. php中的字符串可以当做数组调用
  9. 哈夫曼树的生成详解(C++)
  10. SQL显示数据库恢复挂起解决
  11. 数学建模:评价性模型学习——层次分析法(AHP模型)
  12. Python网络爬虫:正则表达式
  13. 弱监督学习综述-周志华(ML论文阅读笔记1)
  14. python docx文档内容提取与写入(汇总)
  15. Word论文排版技能积累
  16. jQuery 点击图片放大 灯箱效果
  17. 开发谷歌浏览器翻译插件
  18. mysql期末作业_MySql期中作业
  19. App Store拒绝原因
  20. 立方体三维之立方体平行投影

热门文章

  1. properties加载的几种方式
  2. 【POJ3889】Fractal Streets(分形图)
  3. Python入门--字符串的编码与解码
  4. Python入门--字符串的连接和替换,replace,join
  5. map迭代器遍历_一口气写了 HashMap 的 7种遍历方式,被同事夸了
  6. 狂神设计模式笔记-工厂模式
  7. 试题1 入门训练 Fibonacci数列
  8. 2017CCPC哈尔滨 H:A Simple Stone Game
  9. [debug] “ImportError DLL load failed 找不到指定的程序”的解析和解决办法。
  10. cube云原生机器学习平台-架构(五)