Linux一键启动多个jar和Shell脚本的编写

背景

        公司项目是spring cloud eureka微服务系列的架构,在内网环境linux上需要一键启动/停止多个jar包。考虑到.sh文件的执行,仅供参考,有其他方案的同学请留言告知,在此先感谢了!

代码

        1.一键启动/停止多个jar

  • 启动:./java.sh start

  • 停止:./java.sh stop

  • 重启:./java.sh restart

java.sh代码: 

#!/bin/sh
export EUREKA=eureka-0.0.1-SNAPSHOT.jar
export GZGL=gzgl-server-0.0.1-SNAPSHOT.jar
export COLLECTER=ww-collecter-1.0.0-SNAPSHOT.jar
export WWZS=ROOT.war
export ZDMB=zdmb-server-0.0.1-SNAPSHOT.jar
export XTSZ=xtsz-server-0.0.1-SNAPSHOT.jar
export QBSJ=qbsj-server-0.0.1-SNAPSHOT.jar
export FILE=file-server-0.0.1-SNAPSHOT.jar
export PTAQ=ptaq-server-0.0.1-SNAPSHOT.jar
export QYXZ=qyxz-server-0.0.1-SNAPSHOT.jar
export FXPG=fxpg-server-0.0.1-SNAPSHOT.jar
export OPEN=open-server-0.0.1-SNAPSHOT.jar 
 
export EUREKA_port=8081
export GZGL_port=8082
export COLLECTER_port=8083
export WWZS_port=8084
export ZDMB_port=8085
export XTSZ_port=8086
export QBSJ_port=8087
export FILE_port=8088
export PTAQ_port=8089
export QYXZ_port=8090
export FXPG_port=8091
export OPEN_port=8092
 
case "$1" in
 
start)
        ## 启动eureka
        echo "--------eureka 开始启动--------------"
        nohup java -jar $EUREKA >/dev/null 2>&1 &
        EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$EUREKA_pid" ]
            do
              EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "EUREKA pid is $EUREKA_pid" 
        echo "--------eureka 启动成功--------------"
 
        ## 启动GZGL
        echo "--------开始启动GZGL---------------"
        nohup java -jar $GZGL >/dev/null 2>&1 &
        GZGL_pid=`lsof -i:$GZGL_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$GZGL_pid" ]
            do
              GZGL_pid=`lsof -i:$GZGL_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "GZGL pid is $GZGL_pid"     
        echo "---------GZGL 启动成功-----------"
		
		## 启动COLLECTER
        echo "--------开始启动COLLECTER---------------"
        nohup java -jar $COLLECTER >/dev/null 2>&1 &
        COLLECTER_pid=`lsof -i:$COLLECTER_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$COLLECTER_pid" ]
            do
              COLLECTER_pid=`lsof -i:$COLLECTER_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "COLLECTER pid is $COLLECTER_pid"     
        echo "---------COLLECTER 启动成功-----------"
		
		## 启动ZDMB
        echo "--------开始启动ZDMB---------------"
        nohup java -jar $ZDMB >/dev/null 2>&1 &
        ZDMB_pid=`lsof -i:$ZDMB_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$ZDMB_pid" ]
            do
              ZDMB_pid=`lsof -i:$ZDMB_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "ZDMB pid is $ZDMB_pid"     
        echo "---------ZDMB 启动成功-----------"
		
		## 启动XTSZ
        echo "--------开始启动XTSZ---------------"
        nohup java -jar $XTSZ >/dev/null 2>&1 &
        XTSZ_pid=`lsof -i:$XTSZ_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$XTSZ_pid" ]
            do
              XTSZ_pid=`lsof -i:$XTSZ_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "XTSZ pid is $XTSZ_pid"     
        echo "---------XTSZ 启动成功-----------"
		
		## 启动QBSJ
        echo "--------开始启动QBSJ---------------"
        nohup java -jar $QBSJ >/dev/null 2>&1 &
        QBSJ_pid=`lsof -i:$QBSJ_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$QBSJ_pid" ]
            do
              QBSJ_pid=`lsof -i:$QBSJ_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "QBSJ pid is $QBSJ_pid"     
        echo "---------QBSJ 启动成功-----------"
		
		## 启动FILE
        echo "--------开始启动FILE---------------"
        nohup java -jar $FILE >/dev/null 2>&1 &
        FILE_pi
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值