zhangjf dfce5b0566 refactor: 统一脚本管理,优化Assembly打包配置
- 将各服务脚本统一到项目根目录scripts目录
- Assembly配置引用根目录scripts,避免重复
- 脚本自动从目录名推断服务名称
- 排除docker相关配置文件(application-docker.yml)
- 新增env.properties环境变量配置模板
- 更新单机部署文档至v2.1
2026-02-22 14:43:41 +08:00

46 lines
862 B
Bash
Executable File

#!/bin/bash
# 服务停止脚本
# 自动从目录名推断服务名称
# 获取脚本所在目录和服务名
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
APP_HOME=$(dirname "$SCRIPT_DIR")
APP_NAME=$(basename "$APP_HOME")
# PID文件路径
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"