http://www.zaoxue.com/article/tech-49312.htm
有个应用程序不是很稳定,又暂时找到具体问题,只知道出现错误时日志文件会反映出来.
该应用定时更新日志目录,有两个日志文件:fromclient.log 记录接收请求,fromserver.log记录接收服务端返回.
出现问题时一般是fromclient.log日志在更新,但是fromserver.log就停止了.
灵机一动,何不用python写个监控日志的程序,发现程序异常就自动重启,这样不至于严重影响客户使用.
多出时间来彻底解决问题.
于是就有了下面的代码:
#!/bin/env Python
# -*- coding: cp936 -*-
import glob,os,time,stat,sys
deadflag = 60 #判断进程死掉的秒数
def GetFileTime(filename):
return os.stat(filename)[stat.ST_CTIME]
def main():
path = glob.glob("../log/PROXY*")[-1]
clifile = path + "/" + "mt.log"
svrfile = path + "/" + "fromserver.log"
clitime = GetFileTime(clifile)
svrtime = GetFileTime(svrfile)
print clifile,time.localtime(clitime)
print svrfile,time.localtime(svrtime)
if abs(svrtime-clitime) > deadflag:
print "time is over! will restart!"
os.system("sh /home/esm/bin/restart_tcpproxy.sh")
return
if __name__ == "__main__":
main()
分享到:
相关推荐
项目中使用python写一个监控程序,每隔5秒监控目录,发现文件就立刻FTP同步到另一台服务器。业务要求高实时性和高可用性。为了谨防程序崩溃,特别编写一个守护进程程序,时刻监控程序是否崩溃并重新启动。 博文: ...
本篇文章将深入探讨如何用Python编写一个守护进程,以及在进程被杀后自动重启的实现方法。 首先,让我们了解守护进程的基本概念。在Unix-like操作系统中,守护进程通常在用户登录会话之外运行,避免受到用户退出或...
`supervisord`是一个用Python编写的进程控制系统和应用监控工具,能够管理多个进程,提供详细的日志记录和进程状态监控,并且支持自定义监控间隔和重启策略。 了解了进程监控和进程守护程序的功能和作用后,我们...
【Python服务监控程序】是指使用Python编程语言编写的一种软件,用于监测系统中的服务状态,确保服务的稳定运行。服务监控程序通常包括启动、停止、重启服务的功能,并在服务出现异常时进行报警或自动恢复,以减少...
这个工具利用Python的强大功能,结合Windows操作系统API,实现了一个轻量级的进程监控和恢复机制。它允许用户自定义检查间隔时间和目标进程名称,确保即使在程序意外关闭的情况下,也能自动重启。 在Python中,实现...
进程监控小程序是一款非常实用的工具,它主要用于对特定的计算机进程进行实时监控。在IT行业中,进程是操作系统中运行的程序实例,每个进程都有独立的内存空间和资源,因此管理和监控进程对于系统的稳定性和性能至关...
本项目“Python-基于Python实现的Linux后台日志监控小项目”提供了一个用Python语言编写的工具,用于实现这一功能。下面我们将详细探讨该项目的核心知识点。 1. **Python编程基础**:项目的基础是Python编程,因此...
1,应用范围:在linux系统下的监控程序,根据进程名称监控一些进程或程序,如果某个程序停止运行,则发送一个提醒邮件或者飞信通知。 通过crontab机制,在设定的时间间隔内反复执行监控程序,达到每隔一个时间间隔...
使用Python的Supervisor进行进程监控以及自动启动是运维工作中常见的一种实践,特别是在服务器端开发中,确保服务的稳定运行至关重要。Supervisor是一个用Python编写的进程管理工具,它能够监控并自动重启出现故障的...
linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。 实现原理: 由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。 crontab...
标题中的“python写的小工具,监控某程序状态,异常退出将会自动启动该程序”描述了一个用Python编程语言编写的实用程序,它的主要功能是作为一款看门狗(Watchdog)应用,负责监视指定程序的运行状态。当目标程序...
总结来说,这个Python聊天室程序展示了如何使用`socket`模块和`select`函数实现基本的网络通信功能,特别是服务端如何处理多个并发的客户端连接。通过学习和理解这个示例,开发者可以进一步掌握Python在网络编程中的...
Python-MemoryProfiler是一个强大的工具,专门用于检测Python程序运行时的内存使用情况。这个模块提供了对内存消耗的详细监控,帮助开发者找出可能导致内存泄漏或过度消耗资源的代码段。了解和掌握Memory Profiler...
在Python中,可以使用`multiprocessing`模块来创建和管理进程,`threading`模块则用于线程操作。 接着,我们来谈谈Python中的协程。协程是一种用户级的轻量级线程,它允许程序在执行过程中挂起并在需要时恢复,无需...
在文中,首先通过import语句导入了psutil、subprocess、os、re和time等模块,这些是实现进程监控功能所必需的模块。接着定义了一个名为`restart_process`的函数,这个函数的目的是检测特定进程是否存在,并在不存在...
进程监控是IT系统管理中的重要一环,它主要用于检测、管理和控制操作系统的进程。通过实施有效的进程监控,我们可以确保系统资源被合理分配,避免...正确配置和使用进程监控程序,对于维护IT系统的健康运行至关重要。
12. **代码实现语言**:进程监控代码可以使用各种编程语言实现,如Python的psutil库、Java的jps工具、C++的Boost.Process等,选择取决于具体需求和开发环境。 在名为"T-ProcMon"的压缩包文件中,很可能是包含了一个...
5. **使用Supervisor**:Supervisor是一个进程控制系统,适合管理多个后台进程,包括Python应用程序。安装Supervisor后,配置一个配置文件,指定Python程序的路径和启动参数,然后通过Supervisor启动和管理这个进程...
综上所述,这个项目展示了如何使用Python结合GUI技术实现对Windows服务的监控和管理,同时提供了学习和实践自动化运维技能的机会。对于想要提升Python编程能力,尤其是涉及系统管理的开发者来说,这是一个很好的实践...
Python用WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。 本文实例讲述了python使用wmi模块获取windows下的系统信息 监控系统 ...