当前位置: 首页 > 工具软件 > pwd.sh > 使用案例 >

start.sh stop.sh

宋铭
2023-12-01
#!/bin/sh
echo "应用启动脚本开始执行..."
# start.sh所在路径
SHELL_DIR=$(
 cd "$(dirname "$0")"
 pwd
)
# 发布包路径
BASE_DIR=$(
 cd $SHELL_DIR/..
  pwd
)
cd $BASE_DIR

export APP_NAME="scp-fms-service"
# 日志目录
export LOG_DIR=/export/Logs/fms
# 控制台日志
export CONSOLE_LOGFILE="$LOG_DIR/${APP_NAME}_console.log"

# 应用jar包必须要带路径信息
export JAR_NAME="$BASE_DIR/lib/$APP_NAME-2.0-SNAPSHOT.jar"
# 配置spring.profiles.active
export SPRING_PROFILES_ACTIVE=@spring.profiles.active@

echo current path:$BASE_DIR

# 创建应用日志目录
if [ ! -d "$LOG_DIR" ]; then
 mkdir -p "$LOG_DIR"
 if [ $? -ne 0 ]; then
 echo "创建目录失败:$LOG_DIR" >&2
 exit 1
 fi
fi

# 清空控制台日志
: >$CONSOLE_LOGFILE

echo "环境变量:"
echo "SPRING_PROFILES_ACTIVE:$SPRING_PROFILES_ACTIVE"
echo "LOG_DIR:$LOG_DIR"
echo "JAR_NAME:$JAR_NAME"
echo "CONSOLE_LOGFILE:$CONSOLE_LOGFILE"

echo "应用启动命令:"
echo "java -Xms1024m -Xmx1024m -jar $JAR_NAME >$CONSOLE_LOGFILE &"

java -Xms1024m -Xmx1024m -jar $JAR_NAME >$CONSOLE_LOGFILE &
#!/bin/sh

# stop.sh所在路径
SHDIR=$(cd "$(dirname "$0")"; pwd)
# 发布包路径
BASEDIR=$(cd $SHDIR/..; pwd)
cd $BASEDIR

APP_NAME="scp-fms-service"
# 应用jar包必须要带路径信息
JAR_NAME="$BASE_DIR/lib/$APP_NAME-2.0-SNAPSHOT.jar"

function get_pid
{
    pgrep -lf "java .* $JAR_NAME"
}

if ! get_pid; then
 echo "应用未运行,直接退出"
else
 echo -n "停止进程"
 pkill -f "java .* $JAR_NAME"
fi

# 停止等待时间,15秒
declare -i wait_time=15
while [[ -n `get_pid` && wait_time-- -gt 0 ]]
do
 echo -n '.'
 sleep 1
done

echo

if [[ -n `get_pid` ]]
then
 echo "进程停止超时,进行强杀..."
 pkill -9 -f "java .* $JAR_NAME"
 exit 1
fi

 类似资料:

相关阅读

相关文章

相关问答