前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python程序监控脚本

Python程序监控脚本

作者头像
老高的技术博客
发布2022-12-27 16:26:23
8030
发布2022-12-27 16:26:23
举报
文章被收录于专栏:老高的技术博客

有些软件虽然卖的很贵,但是稳定性还是让人很无语,经常莫名其妙的崩溃,生产服务器怎么能允许这种事情发生!

一个监控程序运行的就这样诞生了,程序Python 2.7

思路很简单,先写一个监控的函数,判断是否在运行,然后循环调用N次,直到运行成功,实在不行,就发个通知或者记录下来

难点在于如何判断进程在运行。

思路也很简单,主要用到了这两个方法

  • os.popen
  • os.system

他们两个都可以直接运行cmd或者shell中的命令,但是前者会返回输出的内容,可以做进一步的处理

而后者只是执行,并把结果打印出来。

下面是程序,注释已经很清晰了

代码语言:javascript
复制
#coding=utf-8
"""
To check program if it is running
@author PHPergao
@time 2014-7-22
"""

import re
import os
import time
import urllib2
import urllib

flag = 1

#check function
def checkhct():
    #tasklist也可换成linux下打印所有进程的命令 ps aux
    for line in os.popen('tasklist').readlines():
            #判断用正则更准确,也可以使用find或者index判断
        pattern = re.compile(r'qq.*', re.I)
        match = pattern.match(line)
        if(match):
            return True
    return False


#repeat 3 times
for x in xrange(0,3):
    if(checkhct() == False):
        print 'error'
            #程序路径
        os.system('D:\t\qq.exe')
    else:
        print 'running'
        flag = 0
        break

#if is't running

if(flag==1):
    #send email...
    ...
    ...
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档