创建脚本命令启动jar

在Linux中创建脚本命令启动Jar

1、创建run.sh

$ touch run.sh

2、run.sh

#!/bin/bash

#替换这里jar包的路径,其它代码无需更改
APP_NAME=you-project-name.jar

# 环境
PROFILE_ACTIVE=test

# 启动命令
# 启动脚本,nohup方式后台运行jar包,其中参数需要根据实际情况调整
# 参数说明如下
# -Xms128m    JVM初始分配的堆内存
# -Xmx1024m    JVM最大允许分配的堆内存
# -Dspring.profiles.active=test    运行application-test.properties,指定运行环境
# catalina.out    实时输出控制台信息到指定文件
start_command(){
    nohup java -server -Xms500M -Xmx1024M -Xss512k  \
                -Dspring.profiles.active=${PROFILE_ACTIVE} \
                -Dspring.redis.host='' \
                -Dspring.redis.password='' \
                -jar ${APP_NAME} > catalina.out 2>&1 &
}

# 使用说明,用来提示输入参数
usage() {
    echo "Usage: sh run.sh [start|stop|restart|status]"
    exit 1
}

# 检查程序是否在运行
is_exist(){
    # 查询出监听了test.jar端口TCP协议的程序  
    pid=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{print $2}')
    # 如果不存在返回1,存在返回0     
    if [ -z "${pid}" ]; then
        return 1
    else
        return 0
    fi
}

# 启动命令
start(){
    echo "start running ${APP_NAME} ............... "
    is_exist
    if [ $? -eq 0 ]; then
        echo "${APP_NAME} is already running. Pid is ${pid}"
    else
        start_command
        echo "${APP_NAME} start success........."
        # 此处打印log日志:
        tail -500f ./catalina.out
    fi
}

# 重启命令
stop(){
    echo "stopping running ${APP_NAME} ............... "  
    is_exist
    if [ $? -eq "0" ]; then
        kill -9 $pid
        echo "${APP_NAME} is kill, Pid is $pid" 
    else
        echo "${APP_NAME} is not running"
    fi
}

# 状态
status(){
    is_exist
    if [ $? -eq "0" ]; then
        echo "${APP_NAME} is running. Pid is ${pid}"
    else
        echo "${APP_NAME} is NOT running."
    fi
}

# 重启,停止后睡眠5秒之后,再执行启动命令
restart(){
    stop
    sleep 5s
    start
}

case "$1" in
    "start")
        start
        ;;
    "stop")
        stop
        ;;
    "restart")
        restart
        ;;
    "status")
        status
        ;;
    *)
    usage
    ;;
esac

3、操作命令

  • 启动程序
# 切换到脚本所在目录
$ cd /usr/local/project/
$ sh run.sh start
  • 停止程序
$ cd /usr/local/project/
$ sh run.sh stop
  • 重启程序
$ cd /usr/local/project/
$ sh run.sh restart
  • 查询程序状态
$ cd /usr/local/project/
$ sh run.sh status
  • 查看控制台输出日志
$ tail -500f catalina.out
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值