Linux中自定义shell脚本启动jar包的方法

2022-06-19 19:00:45

这篇文章主要介绍了Linux中自定义shell脚本启动jar包的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一键启动、停止、重启 java项目

创建.sh文件

vi XXX.sh

编写shell脚本

#!/bin/sh
port=8080 #定义变量等号左右不能有空格
jar_name=/opt/oaclou/XXX.jar

#运行脚本提示信息
tips(){
echo "-------------------------------------"
echo ""
echo "项目端口: ${port}"
echo "项目地址: ${jar_name}"
echo ""
echo "你可以使用如下参数进行操作"
echo "-status -查看当前项目运行状态"
echo "-start  -启动当前项目"
echo "-stop  -停止当前项目"
echo "-restart -重启当前项目" 
echo ""
echo "-------------------------------------"
}

#查看状态
status(){
#查询端口的PID {print $7}-取出打印的第七个值
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
#判断端口是否被占用
if [ -z "${pid}" ];then
    echo "没有项目在运行"
else
    echo "项目正在运行中"
fi
}

#启动项目
start(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
if [ -z "${pid}" ];then
echo "正在启动......"
java -jar -Xms1024m -Xmx1024m $jar_name
else
echo "项目运行中或端口已被占用"
fi

}

#停止项目
stop(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
if [ -z "${pid}" ];then
echo "没有项目在运行,请先启动"
else
kill -9 $pid
echo "已杀死端口为 ${port} 的应用"
fi
}

#重启项目
restart(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
echo "正在杀死端口 ${port} 的pid ${pid} 中..."
if [ -z "${pid}" ];then
echo "项目未启动"
else
kill -9 $pid
fi
sleep 5 #睡眠五秒
start  #调用启动方法
echo "项目重启成功!"
}

#参数选项
case "$1" in
"-status")
 status
 ;;
"-start")
 start
 ;;
"-stop")
 stop
 ;;
"-restart")
 restart
 ;;
*)
 tips
 ;;
esac

给.sh文件授权

此时创建的文件还是普通文本,颜色为灰色,需要给文件授权让文件变成可运行文件,绿色的

#授予文件最大权限
chmod 777 XXX.sh

使用命令启动jar

./XXX.sh -start

到此这篇关于linux中自定义shell脚本启动jar包的文章就介绍到这了,更多相关linux shell脚本启动jar包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!