写了个Python脚本监控nginx进程
接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。
- #!/usr/bin/envpython
- importos,sys,time
- whileTrue:
- time.sleep(3)
- try:
- ret=os.popen('ps-Cnginx-opid,cmd').readlines()
- iflen(ret)<2:
- print"nginxprocesskilled,restartingservicein3seconds."
- time.sleep(3)
- os.system("servicenginxrestart")
- except:
- print"Error",sys.exc_info()[1]
#!/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,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。