shell脚本判断进程是否存在,并重新启动
- #!/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 &