写了个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,总算放心了。

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。