写了个监控nginx进程的Python脚本

yipeiwu_com6年前Python基础
复制代码 代码如下:

#!/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,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

相关文章

python简易实现任意位数的水仙花实例

如下所示: # -*- coding: utf-8 -*- # 水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。 # 要求:打印输出所有...

将python安装信息加入注册表的示例

背景 重装系统,发现之前装在E盘的python可以直接使用,就只是将python的安装目录加入到环境变量中,也一直没有管它,今天跟天软交互的时候发现一直不成功,猜测可能是没有注册表信息。...

python如何统计代码运行的时长

1. 背景 有时候,需要统计一段代码运行所用的时长,则可以用到下面的代码。 2. 代码示例 #!/usr/bin/env python import datetime imp...

Python完全新手教程

Python入门教程Lesson 1 准备好学习Python的环境 下载的地址是: www.python.org linux版本的我就不说了,因为如果你能够使用linu...

python 实现按对象传值

python 实现按对象传值

今天研究了下Python中的传值问题,通常在C、C++中有按值传递和按引用传递两种情况,按值传递时会拷贝实参,而按引用传递时只是给形参赋了一个指向实参的指针,但在python却没有区分这...