会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132468个问题
JAVA 全系列/第七阶段:生产环境部署与协同开发/Linux 20911楼
JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 20912楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 20914楼
WEB前端全系列/第四阶段:BootStrap框架模块/BootStrap组件 20916楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 20920楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器 20921楼
JAVA 全系列/第八阶段:SpringBoot与MybatisPlus/Spring Boot旧 20924楼

避坑!!!
博客:
https://blog.csdn.net/a755199443/article/details/92637977

可以正常运行的正常shell脚本代码(两处中文处记得更改!):

#!/bin/bash

 

cd `dirname $0`

 

CUR_SHELL_DIR=`pwd`

CUR_SHELL_NAME=`basename ${BASH_SOURCE}`

 

JAR_NAME="项目名(如eureka-1.0-SNAPSHOT.jar)"

JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME

 

#JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=128m"

JAVA_MEM_OPTS=""

 

SPRING_PROFILES_ACTIV="-Dspring.profiles.active=配置文件变量名称(如eureka1)"

#SPRING_PROFILES_ACTIV=""

LOG_DIR=$CUR_SHELL_DIR/logs

LOG_PATH=$LOG_DIR/${JAR_NAME%..log

 

echo_help()

{

    echo -e "syntax: sh $CUR_SHELL_NAME start|stop"

}

 

if [ -z $1 ];then

    echo_help

    exit 1

fi

 

if [ ! -d "$LOG_DIR" ];then

    mkdir "$LOG_DIR"

fi

 

if [ ! -f "$LOG_PATH" ];then

    touch "$LOG_DIR"

fi

 

if [ "$1" == "start" ];then

 

    # check server

    PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`

    if [ -n "$PIDS" ]; then

        echo -e "ERROR: The $JAR_NAME already started and the PID is ${PIDS}."

        exit 1

    fi

 

    echo "Starting the $JAR_NAME..."

 

    # start

    nohup java $JAVA_MEM_OPTS -jar $SPRING_PROFILES_ACTIV $JAR_PATH >> $LOG_PATH 2>&1 &

 

    COUNT=0

    while [ $COUNT -lt 1 ]; do

        sleep 1

        COUNT=`ps  --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}' | wc -l`

        if [ $COUNT -gt 0 ]; then

            break

        fi

    done

    PIDS=`ps  --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}'`

    echo "${JAR_NAME} Started and the PID is ${PIDS}."

    echo "You can check the log file in ${LOG_PATH} for details."

 

elif [ "$1" == "stop" ];then

 

    PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`

    if [ -z "$PIDS" ]; then

        echo "ERROR:The $JAR_NAME does not started!"

        exit 1

    fi

 

    echo -e "Stopping the $JAR_NAME..."

 

    for PID in $PIDS; do

        kill $PID > /dev/null 2>&1

    done

 

    COUNT=0

    while [ $COUNT -lt 1 ]; do

        sleep 1

        COUNT=1

        for PID in $PIDS ; do

            PID_EXIST=`ps --no-heading -p $PID`

            if [ -n "$PID_EXIST" ]; then

                COUNT=0

                break

            fi

        done

    done

 

    echo -e "${JAR_NAME} Stopped and the PID is ${PIDS}."

else

    echo_help

    exit 1

fi


JAVA 全系列/第十九阶段:Spring Cloud微服务技术栈/Spring Cloud(旧) 20925楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637