写了个Python脚本监控nginx进程

接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。

view plaincopy to clipboardprint?
  1. #!/usr/bin/envpython
  2. importos,sys,time
  3. whileTrue:
  4. time.sleep(3)
  5. try:
  6. ret=os.popen('ps-Cnginx-opid,cmd').readlines()
  7. iflen(ret)<2:
  8. print"nginxprocesskilled,restartingservicein3seconds."
  9. time.sleep(3)
  10. os.system("servicenginxrestart")
  11. except:
  12. 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,总算放心了。

这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

发表回复