24 lines
905 B
Bash
24 lines
905 B
Bash
#!/bin/bash
|
|||
|
|
# project-panel 守护脚本 - 进程挂了自动重启
|
||
|
|
SERVICE_DIR="/home/openclaw/.openclaw/workspace-hz4th_coder/works/project-panel"
|
||
|
|
PYTHON="/home/hz1/miniconda3/envs/openclaw/bin/python3.12"
|
||
|
|
PORT=16022
|
||
|
|
LOG="$SERVICE_DIR/logs/watchdog.log"
|
||
|
|
|
||
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 守护进程启动,监控端口 $PORT" >> "$LOG"
|
||
|
|
|
||
|
|
while true; do
|
||
|
|
if ! ss -tlnp 2>/dev/null | grep -q ":$PORT "; then
|
||
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 检测到 $PORT 端口离线,重启服务..." >> "$LOG"
|
||
|
|
cd "$SERVICE_DIR"
|
||
|
|
mkdir -p logs
|
||
|
|
nohup "$PYTHON" app.py > logs/app.log 2>&1 &
|
||
|
|
sleep 3
|
||
|
|
if ss -tlnp 2>/dev/null | grep -q ":$PORT "; then
|
||
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 服务重启成功" >> "$LOG"
|
||
|
|
else
|
||
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 服务重启失败!" >> "$LOG"
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
sleep 10
|
||
|
|
done
|