#!/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