添加后台运行脚本
This commit is contained in:
44
start_background.sh
Executable file
44
start_background.sh
Executable file
@@ -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
|
||||||
38
stop_background.sh
Executable file
38
stop_background.sh
Executable file
@@ -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
|
||||||
Reference in New Issue
Block a user