参考
防止原文被删记录下
#!/bin/bash#jar包文件路径及名称(目录按照各自配置)APP_NAME=/tn/project/syslogin.jar#日志文件路径及名称(目录按照各自配置)LOG_FILE=/opt/app/logs/syslogin.log# 查询进程,并杀掉当前jar/java程序pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAMEthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx1024m -Xms1024m $APP_NAME > /dev/null 2>&1 &# 实时查看启动日志(此处正在想办法启动成功后退出)tail -f $LOG_FILE# 输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)#echo '$APP_NAME 启动成功...'elseecho '$APP_NAME 文件不存在,请检查。'fi
补充- 监听启动成功
# wc -l: jar包进程的数量num=`ps -ef|grep $APP_NAME_SOUL |grep -v grep| awk '{print $2}'| wc -l`if [[ $num -eq 1 ]];thenecho '$APP_NAME_SOUL 启动成功...'fi
实践
vim xx.sh
#!/bin/bash#jar包文件路径及名称(目录按照各自配置)APP_NAME_FILE=/doc/program/smart/file-0.0.1-SNAPSHOT.jarAPP_NAME_SOUL=/doc/program/smart/soul-admin.jarAPP_NAME_GATEWAY=/doc/program/smart/gateway-0.0.1-SNAPSHOT.jarAPP_NAME_APPOINTMENT=/doc/program/smart/appointment-0.0.1-SNAPSHOT.jarAPP_NAME_USER=/doc/program/smart/user-0.0.1-SNAPSHOT.jarAPP_NAME_SOLR=/doc/program/smart/solr-0.0.1-SNAPSHOT.jar# 查询进程,并杀掉当前jar/java程序pid=`ps -ef|grep $APP_NAME_FILE | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 1pid=`ps -ef|grep $APP_NAME_SOUL | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 1pid=`ps -ef|grep $APP_NAME_GATEWAY | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 1pid=`ps -ef|grep $APP_NAME_APPOINTMENT | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 1pid=`ps -ef|grep $APP_NAME_USER | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 1pid=`ps -ef|grep $APP_NAME_SOLR | grep -v grep | awk '{print $2}'`kill -9 $pidecho "$pid进程终止成功"sleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_SOULthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx1024m -Xms1024m $APP_NAME_SOUL >/dev/null 2>&1 &#echo '$APP_NAME_SOUL 启动成功...'elseecho '$APP_NAME_SOUL 文件不存在,请检查。'fisleep 2# wc -l: jar包进程的数量num=`ps -ef|grep $APP_NAME_SOUL |grep -v grep| awk '{print $2}'| wc -l`if [[ $num -eq 1 ]];thenecho '$APP_NAME_SOUL 启动成功...'# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_FILEthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx512m -Xms512m $APP_NAME_FILE >/dev/null 2>&1 &#echo '$APP_NAME_FILE 启动成功...'elseecho '$APP_NAME_FILE 文件不存在,请检查。'fisleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_GATEWAYthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx512m -Xms512m $APP_NAME_GATEWAY >/dev/null 2>&1 &#echo '$APP_NAME_GATEWAY 启动成功...'elseecho '$APP_NAME_GATEWAY 文件不存在,请检查。'fisleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_APPOINTMENTthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx512m -Xms512m $APP_NAME_APPOINTMENT >/dev/null 2>&1 &#echo '$APP_NAME_APPOINTMENT 启动成功...'elseecho '$APP_NAME_APPOINTMENT 文件不存在,请检查。'fisleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_USERthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx512m -Xms512m $APP_NAME_USER >/dev/null 2>&1 &#echo '$APP_NAME_USER 启动成功...'elseecho '$APP_NAME_USER 文件不存在,请检查。'fisleep 2# 判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志if test -e $APP_NAME_SOLRthenecho '文件存在,开始启动此程序...'# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件nohup java -jar -Xmx512m -Xms512m $APP_NAME_SOLR >/dev/null 2>&1 &#echo '$APP_NAME_SOLR 启动成功...'elseecho '$APP_NAME_SOLR 文件不存在,请检查。'fifi
