当前位置 博文首页 > Linux中自定义shell脚本启动jar包的方法

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

    作者:qq_43659061 时间:2021-02-03 21:11

    一键启动、停止、重启 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
    js
    下一篇:没有了