检查服务器的pid文件,如果文件不存在或pid对应的进程已死重启服务器
来源:互联网 发布:网络发短信不显示号码 编辑:程序博客网 时间:2024/05/22 03:10
# -*- coding: utf-8 -*-# @author flynetcnimport sys, os, re, datetime;LOG_FILE = '/var/log/www/serverMonitor.log';SERVER_PID_FILE = '/var/log/www/server.pid';SERVER_NAME = 'myserver';START_SERVER_CMD = 'sh /bin/www/service/start.sh';def logger(level, str):logFd = open(LOG_FILE, 'a');logFd.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')+": "+("WARNING " if level else "NOTICE ")+str);logFd.close();def startServer():import subprocess;logger(0, "start server...\n");logFd = open(LOG_FILE, 'a');ret = subprocess.call([START_SERVER_CMD], shell=True, stdout=logFd, stderr=logFd);logFd.close();if ret != 0:logger(1, "start server failed - %s\n" % (str(ret)));else:logger(0, "start server ok\n");def monitorServer():try:pidFd = open(SERVER_PID_FILE);pid = pidFd.readlines();except:pid = [];if not pid:logger(1, "pidfile is empty\n");startServer();return;pid = pid[0].strip();if not os.access('/proc/'+pid, os.R_OK):logger(1, "start server - process(pid:%s) not find\n" % (pid));startServer();return;elif SERVER_NAME not in open('/proc/'+pid+'/cmdline').readline():logger(1, "start server - process(pid:%s) is not %s\n" % (pid, SERVER_NAME));startServer();return;else:logger(0, "server is running - pid:%s\n" % (pid));return;if __name__ == "__main__":monitorServer();
0 0
- 检查服务器的pid文件,如果文件不存在或pid对应的进程已死重启服务器
- 获取打开文件的PID
- 邮件服务器启动postfix时的问题:master 已死,但 pid 文件仍存
- Linux根据进程号找到PID文件所在的目录
- hadoop进程pid文件问题
- hadoop进程pid文件问题
- 后台进程的PID
- 查找进程的pid
- 打印DBUS连接对应的进程的PID和名字
- shell 编程8 获取 java程序的pid 杀死pid 对应的进程
- 查看pid对应的端口
- pid到task_struct的对应
- 获取tcp/udp端口对应的进程pid
- 获取tcp/udp端口对应的进程pid
- 如何查看pid进程号和对应的端口号
- 关于查看进程、查看端口号对应的pid
- ngnix下pid文件找不到的解决方法
- hbase停止集群,pid不存在的问题
- C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆)
- HDU1845Jimmy’s Assignment(无向图,最大匹配)
- C# WPF 动态添加窗体
- 数据挖掘之关联分析四(连续属性处理)
- python 使用pymsql连接数据库
- 检查服务器的pid文件,如果文件不存在或pid对应的进程已死重启服务器
- 【LeetCode】2_Add Two Numbers
- Java深度历险(二)Java类的加载、链接和初始化
- UITableView
- 在华睿模块内实现UDP收发数据
- Mac自带Python版本升级
- 【分享】[乙女类]失忆症AMNESIA和LATER+Crowd【PSP汉化+日文版】[带全开存档+图文攻略+模拟器]
- php json_decode 不支持的模式
- hdu5396 Expression 记忆化搜索+组合数 多校联合第九场