1.python检测linux下进程的运行
#coding=utf8
import sys,os
status_ok = 0
status_critical = 2
def check(Pid):
dir,file = os.path.split(Pid)
if not(os.path.exists(Pid)):
print 'Critical - %s is stop.' % file
sys.exit(status_critical)
else:
print 'OK - %s is running.' % file
sys.exit(status_ok)
if __name__ == '__main__':
#pid = "/var/run/sshd.pid"
pid = sys.argv[1]
check(pid)
运行:python check_daemon.py /var/run/sshd.pid
2.shell检测linux进程运行
#!/bin/sh daemon=$1 status_ok=0 status_critical=2 pid=`ps -ef | grep -v grep | grep -v $0| grep $daemon| sed -n '1P'|awk '{print $2}'` if [ -z $pid ]; then echo "Critical - $daemon is stop." exit $status_critical else echo "OK - $daemon is running." exit $status_ok fi
sh check_daemon.sh sshd
3.linux一般用init管理进程,不过有一个用python写的模块(supervisor)也能很优秀的管理进程,而且可以管理任意运行脚本。
转载于:https://blog.51cto.com/xieyusong/1357946