天天看點

Shell實作判斷程序是否存在并重新啟動腳本

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 &