jar包启停shell脚本
jar包控制脚本1
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/test
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHO.jar
export PROG=test
function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting"
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 3
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
*)
echo "Usage:{$0 start|stop|restart}"
;;
esac
exit 0
jar包控制脚本2
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting..."
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 2
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tail -500f $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
exit 0
jar包控制脚本改进(端口启停监听)
#!/bin/bash
# chkconfig: 2345 10 90
# auther by wangxp export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid(){
sleep 0.5
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
echo "$APP_HOME/logs/catalina.`date +%Y-%m-%d`.out" > $APP_HOME/logs/currentlog.pid
} function checkProg(){
t=0
while (($PID))
do
t=$[$t+1]
if [ $1 == "start" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -e "\nstarted"
PORT=`ss -ntlp |grep $PID|awk 'NR==1 {print $4}'|cut -d: -f4`
break
else
echo -ne "\rstarting...$t"
sleep 1
fi
fi
if [ $1 == "stop" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -ne "\rstopping...$t"
sleep 1
else
echo -e "\nstopped"
break
fi
fi
done
} if [ `whoami` == "root" ];then
getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID , PORT= $PORT"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
getPid
checkProg "stop"
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
if [ $PID ];then
kill -15 $PID
checkProg "stop"
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
$JAVA_HOME/bin/java -version
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tailf -500 `cat $APP_HOME/logs/currentlog.pid`
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
else
echo "you must use root to execute"
fi
exit 0
jar包启停shell脚本的更多相关文章
- nginx启停shell脚本
#!/bin/bash # 编写 nginx 启动脚本 # 本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本 # 如果本脚本名为/etc/init.d ...
- 编写Redis启停服务脚本
脚本内容如下; fi esac exit$RETVAL 下载脚本:艺搜下载 将下载下来的脚本放在/etc/init.d/目录下 更改脚本权限 chmod 777 /etc/init.d/red ...
- Redis windows版本的启停bat脚本命令
Reids windows版本安装 redis windows官网推荐:https://github.com/MicrosoftArchive/redis/releases 下载解压即可. 启停bat ...
- SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行
1:可以编写shell脚本, 切换到执行的jar包目录,然后使用nohup 让改命令在服务器一直运行 #!/bin/bash cd /srv/ftp/public nohup java -jar l ...
- 使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写
jar 命令 jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件 使用示例:jar -cvf ../xxx.jar * -c create,创建新的归档文档 ...
- shell启停服务脚本模板
一. 启动脚本模板:符合幂等性 如果该服务已经启动,再次调用该脚本,不会报错,也就是说可以反复多次调用,另外启动成功返回 一个参数,提供给自动发布平台校验该服务是否启动 #!/bin/bash ins ...
- 编写Nginx启停服务脚本
在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 编写脚本内容:(其中下面2行需要根据情况自行修改) nginxd=/opt/nginx/sbin/nginx ng ...
- spring boot 以jar的方式启动常用shell脚本
用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bashJAVA_OPTIONS_INITIAL=- ...
- 04. 启停redis服务
启动 查看redis.conf文件,可以通过general中的说明,配置通过systemd来启停redis和查看redis状态(作者没有采用,而是使用service管理,service配置参考< ...
- linux上jar包的运行
指定目录: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...
随机推荐
- vue项目中如何加载markdown
场景 今天忽然临时接到一个需求: 就是将markdown文件直接在vue项目中进行加载,并正常显示出来. 这......,我知道是可以进行加载markdown文件的. 但是我之前没有做过,答复的是:可 ...
- uni-app PDA扫描
1.前言 PDA扫码是工厂项目中是非常常见的功能,这里记录下工作中的开发思路和模板,仅供参考 PDA扫码模式:模拟输入和广播模式 模拟输入:模拟键盘输入,一般后面会设置追加一个回车,优点是通用型强,缺 ...
- CSS3 transform转换
1.先说说css的坐标系: x轴的正方向就是水平向右的方向 y轴的正方向就是垂直向下的方向 z轴的正方向就是屏幕到用户的方向 2.位移 说明:位移是转换属性中的一个值,包含2d与3d 属性值 说明 t ...
- To B企业:2025继续打价格战,只有死路一条
从双十一数不清的促销.满减还有消费券,到大模型厂商的"你低价,我免费"中可以窥见,最近几年,在产品泛滥.市场红利消失的困境中,"价格战"已从To C卷到To B ...
- windows server系统中,Pro运行深度学习工具错误
安装深度学习包后,运行相关工具的时候报错,缺失cv2的模块. 在arcpy执行窗口,直接去引入cv2包的时候,确实发了错误. 查看了相关路径,确认cv2的包,在对应路径已经存在,也有对应的元数据信息, ...
- orangepi zero3 使用dd命令进行SD卡系统备份与还原
1. 使用dd命令备份整个sd卡 首先使用 df -h命令查看sd卡挂载名,如下所示,sd卡挂载为 /dev/sdc meng@meng:~/桌面/code$ df -h 文件系统 大小 已用 可用 ...
- 拦截烂SQL,解读GaussDB(DWS)查询过滤器过滤规则原理
本文分享自华为云社区<GaussDB(DWS)查询过滤器过滤规则原理与使用介绍>,作者: 清道夫. 1. 前言 适用版本:[9.1.0.100(及以上)] 查询过滤器在9.1.0.100之 ...
- nginx-tengine-invalid IPv6 address in resolver-解析器中无效的IPv6地址
问题描述:解析器中无效的IPv6地址 [root@dm ~]# nginx -t nginx: [emerg] invalid IPv6 address in resolver "[fe80 ...
- Qt数据库应用6-数据图文混排
一.前言 除了能够打印基本的文字信息数据到pdf和纸张,越来越多的应用需求还要求能够导出图片,并且要支持图文混排,相当于doc文档类似,当然也不会是太复杂的,类似于打印报表一样,有表格形式的文字描述, ...
- Qt音视频开发43-人脸识别服务端
一.前言 上一篇文章写道人脸识别客户端程序,当然要对应一个服务端程序,客户端才能正常运行,毕竟客户端程序需要与服务端程序进行交互他才能正常工作.通常人脸识别服务端程序需要和人脸识别的相关处理库在一起, ...