From 40f754e57be2dbe80bc95afb155948a9b02307cf Mon Sep 17 00:00:00 2001 From: ninemine Date: Mon, 10 Nov 2025 16:46:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=8E=E5=8F=B0=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start_background.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ stop_background.sh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100755 start_background.sh create mode 100755 stop_background.sh diff --git a/start_background.sh b/start_background.sh new file mode 100755 index 0000000..efffcc0 --- /dev/null +++ b/start_background.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# LiuBai网站后台启动脚本 + +PID_FILE="./liubai_web.pid" +LOG_FILE="./liubai_web.log" + +# 检查是否已经在运行 +if [ -f "$PID_FILE" ]; then + PID=$(cat "$PID_FILE") + if kill -0 "$PID" 2>/dev/null; then + echo "服务已经在运行 (PID: $PID)" + exit 1 + else + echo "删除旧的PID文件..." + rm -f "$PID_FILE" + fi +fi + +echo "正在启动LiuBaiBlog网站服务器..." + +# 使用nohup在后台运行 +nohup venv/bin/python3 -m jurigged -v app.py > "$LOG_FILE" 2>&1 & +PID=$! + +# 保存PID +echo $PID > "$PID_FILE" + +echo "服务器已在后台启动!" +echo "PID: $PID" +echo "日志文件: $LOG_FILE" +echo "要停止服务,请运行: ./stop_background.sh" + +# 等待一下确保服务器启动 +sleep 2 + +# 检查进程是否还在运行 +if kill -0 "$PID" 2>/dev/null; then + echo "服务器启动成功!" +else + echo "服务器启动失败,请检查日志文件: $LOG_FILE" + rm -f "$PID_FILE" + exit 1 +fi diff --git a/stop_background.sh b/stop_background.sh new file mode 100755 index 0000000..514a725 --- /dev/null +++ b/stop_background.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# LiuBai网站后台停止脚本 + +PID_FILE="./liubai_web.pid" + +if [ ! -f "$PID_FILE" ]; then + echo "服务未运行或PID文件不存在" + exit 1 +fi + +PID=$(cat "$PID_FILE") + +echo "正在停止服务器 (PID: $PID)..." + +# 尝试优雅地停止进程 +if kill -TERM "$PID" 2>/dev/null; then + echo "发送停止信号..." + + # 等待进程结束 + for i in {1..10}; do + if ! kill -0 "$PID" 2>/dev/null; then + echo "服务器已停止" + rm -f "$PID_FILE" + exit 0 + fi + sleep 1 + done + + # 如果进程还在运行,强制杀死 + echo "强制停止进程..." + kill -KILL "$PID" 2>/dev/null + rm -f "$PID_FILE" + echo "服务器已强制停止" +else + echo "进程不存在或已停止" + rm -f "$PID_FILE" +fi