• 【已实现】服务器jar包启动脚本、shell脚本


    #!/bin/bash
    #这里可替换为你自己的执行程序,其他代码无需更改
    APP_NAME=tmall.jar
    LOG_NAME=tamll.log

    #使用说明,用来提示输入参
    usage() {
        echo "Usage: sh start.sh [start|stop|restart|status]"
        exit 1
    }
    #检查程序是否在运行
    is_exist() {
        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() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "${APP_NAME} is already running. pid=${pid} ."
        else
            nohup java -jar /home/Tmall_demo/webapps/$APP_NAME > /home/Tmall_demo/logs/$LOG_NAME 2>&1 &
        fi
    }

    #停止方
    stop() {
        is_exist
        if [ $? -eq "0" ]; then
            kill -9 $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
    }

    #重启
    restart() {
        stop
        start
    }

    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
        "start")
            start
            ;;
        "stop")
            stop
            ;;
        "status")
            status
            ;;
        "restart")
            restart
            ;;
        *)
            usage
            ;;
    esac

  • 相关阅读:
    基于单片机的多关节机械臂抓取系统
    Qt数据库之QSqlQueryModel
    Java多线程(4)----浅谈重入锁
    让敏捷回归本源——读《敏捷整洁之道》有感
    Nginx搭建Rtmp流媒体服务,并使用Ffmpeg推流
    自动化部署static资源到cos-bucket
    Vue 里,多级菜单要如何设计才显得专业?
    JSR303数据校验及多环境切换
    Leetcode_49:字母异位词分组
    图像梯度(opencv-c++)
  • 原文地址:https://blog.csdn.net/wufaqidong1/article/details/125505431