简洁版:
#! /bin/bash# author caoxin# time 2012-10-10 # program : 判断进行是否存在,并重新启动function check(){count=`ps -ef |grep $1 |grep -v "grep" |wc -l`#echo $countif [ 0 == $count ];thennohup python /runscript/working/$1 &fi}check behaviors.py详细版:
#!/bin/bash##调用关闭jboss进程脚本stopMethodServer.sh#打印出当前的jboss进程:grep jboss查询的jboss进程,grep -v "grep" 去掉grep进程jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"`echo $jmsThread#查询jboss进程个数:wc -l 返回行数count=`ps -ef | grep gdms | grep jboss | grep -v "grep" | wc -l`echo $countsec=7#开始一个循环,以判断进程是否关闭for var in 1 2do if [ $count -gt 0 ]; then#若进程还未关闭,则脚本sleep几秒echo sleep $sec second the $var time, the JMS thread is still alivesleep $sec else#若进程已经关闭,则跳出循环echo "break"break fidone#if [ $count -eq 0 ]; then# echo "nohup startMethodServer.sh &"# nohup startMethodServer.sh else# echo "It"s better to check the thread!!!"#fi#调用启动脚本nohup startMethodServer.sh &