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 &

 

#!/bin/bash
while [ 1 ]
do
#打印出當前的jboss進程:grep jboss查詢的jboss進程,grep -v "grep" 去掉grep進程
jmsThread=`ps -ef | grep testServer | grep -v "grep"`
# echo $jmsThread
#查詢jboss進程個數:wc -l 返回行數
count=`ps -ef | grep testServer | grep -v "grep" | wc -l`
# echo $count
if [ $count -eq 0 ]; then
s="cd /root/testServer/bin;nohup python testServer.py start"
eval $s
# echo "bad!"
# else
# echo "ok"
fi
done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM