小工具之进程守护器
操作系统: CentOS 6.5_x64
开发语言: Python
适用场景:
程序异常退出后需要及时启动的情况。
源码地址: https://github.com/mike-zhang/processGuarder
原理
通过ps检查进程是否存在,如果不存在则启动
使用
./processGuarder.py default.xml
参数配置
全局参数配置
-
interval
检测时间间隔 -
loglevel
日志级别
0 : NOTSET,
1 : DEBUG,
2 : INFO,
3 : WARNING,
4 : ERROR,
5 : CRITICAL -
lognum
日志文件数目 -
logsize
日志文件大小(单位:MB) -
logPath
日志文件路径 -
psTimes
ps命令执行最大次数(连续检查psTimes次,如果还是没检测到进程,则启动)
程序参数配置
- processName
进程名称 - command
程序路径 - param
程序运行参数 - restartDelay
程序启动需要的时间(单位:秒)
配置示例
普通程序配置(example):
<program scriptName = ""> <processName>proName</processName> <command>/path/to/pro</command> <param>params</param> <restartDelay>1</restartDelay>seconds </program>
脚本程序配置(example):
<program scriptName="python" > <processName>script.py</processName> <command>/path/to/script.py</command> <param>params</param> <restartDelay>1</restartDelay>seconds </program>
其它
1、进程守护器前台运行还是后台运行?
答 : 进程守护器启动时会通过fork方式生成守护进程,在后台运行。
2、如果进程守护器程序本身退出了怎么办?
答 : 可以在crontab中配置定时启动进程守护器,如果守护器已经启动,会自动退出,不会启动多份;如果进程守护器没有启动,则正常启动,并根据提供的配置进行程序检测。
3、更强大的工具请参考monit ( https://mmonit.com/monit/ )
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170118_小工具之进程守护器.md
欢迎补充
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)