主要更新: - 每个服务打包为独立tar.gz,包含bin/lib/conf目录 - bin目录:启动/停止/重启/状态脚本 - lib目录:服务JAR包及所有依赖 - conf目录:配置文件(application.yml等) 新增文件: - 各模块src/main/assembly/assembly.xml配置 - 各模块src/main/scripts启动脚本 - server-deploy/scripts一键管理脚本 - server-deploy/assembly/assembly.xml模板 更新文档: - 单机部署文档v2.0,说明assembly打包方式
45 lines
855 B
Bash
45 lines
855 B
Bash
#!/bin/bash
|
|
# 服务停止脚本
|
|
# 用法: ./stop.sh [服务名称]
|
|
|
|
# 获取服务名称(从脚本所在目录推断)
|
|
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
|
APP_HOME=$(dirname "$SCRIPT_DIR")
|
|
APP_NAME=$(basename "$APP_HOME")
|
|
|
|
PID_FILE="${APP_HOME}/${APP_NAME}.pid"
|
|
|
|
# 检查是否运行
|
|
if [ ! -f "$PID_FILE" ]; then
|
|
echo "${APP_NAME} is not running"
|
|
exit 0
|
|
fi
|
|
|
|
PID=$(cat $PID_FILE)
|
|
if ! ps -p $PID > /dev/null 2>&1; then
|
|
echo "${APP_NAME} is not running"
|
|
rm -f $PID_FILE
|
|
exit 0
|
|
fi
|
|
|
|
# 停止服务
|
|
echo "Stopping ${APP_NAME} (PID: $PID)..."
|
|
kill $PID
|
|
|
|
# 等待停止
|
|
for i in {1..30}; do
|
|
if ! ps -p $PID > /dev/null 2>&1; then
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
# 强制停止
|
|
if ps -p $PID > /dev/null 2>&1; then
|
|
echo "Force killing ${APP_NAME}..."
|
|
kill -9 $PID
|
|
fi
|
|
|
|
rm -f $PID_FILE
|
|
echo "${APP_NAME} stopped"
|