写了个Python脚本,监控nginx进程是否退出

还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。

#!/usr/bin/env python
import os, sys, time

while True:
time.sleep(3)
try:
ret = os.popen(‘ps -C nginx -o pid,cmd’).readlines()
if len(ret) < 2:
print “nginx process killed, restarting service in 3 seconds.”
time.sleep(3)
os.system(“service nginx restart”)
except:
print “Error”, sys.exc_info()[1]

设置文件可执行属性,加入到/etc/rc.local,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

Top Down