我写的狗屎
ps aux |grep tomcat_9090_uba |grep -v grep &>/dev/null
if [ $? -ne 0 ];then
sh /home/tomcat_9090_uba/bin/startup.sh &>/dev/null
echo "tomcat9090 start"
else
ps aux |grep tomcat_9090_uba --color=auto |grep -v grep |awk '{print $2}' |xargs kill -9 && echo "tomcat9090 online"
sh /tmp/duidui.sh
fi
这。。。唉
ps aux |grep -v grep | grep tomcat_9090_uba &>/dev/null
# 如果pid不存在,$?为非零,即直接重启
if [ $? -ne 0 ];then
echo "tomcat9090 is not running"
sh /home/tomcat_9090_uba/bin/startup.sh &>/dev/null
pid=`ps aux |grep -v grep |grep tomcat_9090_uba | awk '{print $2}'`
echo "start tomcat9090 successfully, the pid is $pid"
# 如果pid存在,先kill掉,然后再重启
else
pid=`ps aux |grep -v grep |grep tomcat_9090_uba | awk '{print $2}'`
echo "tomcat is running, the pid is $pid"
echo "Prepare to force restart tomcat_9090_uba"
# 杀掉tomcat
kill -9 $pid
sleep 2
ps aux |grep -v grep | grep tomcat_9090_uba &>/dev/null
if [ $? -ne 0 ];then
echo "tomcat_9090_uba is killed"
fi
# 开始重新启动tomcat
echo "start tomcat9090"
sh /home/tomcat_9090_uba/bin/startup.sh &>/dev/null
# 检查是否存在存在进程
ps aux |grep -v grep | grep tomcat_9090_uba &>/dev/null
if [ $? -eq 0 ];then
# 获取重启之后的pid号
pid=`ps aux |grep -v grep |grep tomcat_9090_uba | awk '{print $2}'`
echo "restart tomcat9090 successfully, the pid is $pid"
fi
sh /tmp/duidui.sh
fi
来源:51CTO
作者:晓阿赫赫
链接:https://blog.51cto.com/xiaoahehe/2401532