39 lines
809 B
Bash
39 lines
809 B
Bash
|
|
#!/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
|