Shell實作判斷程序是否存在并重新啟動腳本 - superbfly的專欄 - CSDN部落格 https://blog.csdn.net/superbfly/article/details/52513765
#! /bin/bash
# author caoxin
# time 2012-10-10
# program : 判斷進行是否存在,并重新啟動
function check(){
count=`ps -ef |grep $1 |grep -v "grep" |wc -l`
#echo $count
if [ 0 == $count ];then
nohup 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 $count
sec=7
#開始一個循環,以判斷程序是否關閉
for var in 1 2
do
if [ $count -gt 0 ]; then
#若程序還未關閉,則腳本sleep幾秒
echo sleep $sec second the $var time, the JMS thread is still alive
sleep $sec
else
#若程序已經關閉,則跳出循環
echo "break"
break
fi
done
#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 &