feat():learning后台管理项目初始化
This commit is contained in:
56
scripts/stop.sh
Executable file
56
scripts/stop.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 设置颜色输出
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${YELLOW}停止 Goalfymax Admin 服务...${NC}"
|
||||
|
||||
# 切换到项目根目录
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
# 检查 PID 文件是否存在
|
||||
if [ ! -f "admin-server.pid" ]; then
|
||||
echo -e "${RED}✗ 服务未运行 (找不到 PID 文件)${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 读取 PID
|
||||
PID=$(cat admin-server.pid)
|
||||
|
||||
# 检查进程是否存在
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo -e "${RED}✗ 服务未运行 (进程不存在)${NC}"
|
||||
rm -f admin-server.pid
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 停止服务
|
||||
echo -e "${YELLOW}正在停止服务 (PID: $PID)...${NC}"
|
||||
kill $PID
|
||||
|
||||
# 等待进程结束
|
||||
for i in {1..10}; do
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ 服务已停止${NC}"
|
||||
rm -f admin-server.pid
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 如果进程还没结束,强制终止
|
||||
if ps -p $PID > /dev/null 2>&1; then
|
||||
echo -e "${YELLOW}强制终止服务...${NC}"
|
||||
kill -9 $PID
|
||||
sleep 1
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ 服务已强制停止${NC}"
|
||||
rm -f admin-server.pid
|
||||
else
|
||||
echo -e "${RED}✗ 无法停止服务${NC}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user