| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/bin/bash
- # 伺服驱动选型工具服务器监控脚本
- SERVER_DIR="/home/admin/clawd/servo_sizer"
- PID_FILE="$SERVER_DIR/.server.pid"
- LOG_FILE="$SERVER_DIR/server.log"
- PORT=8080
- # 检查服务器是否在运行
- check_server() {
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- if ps -p "$PID" > /dev/null; then
- # 检查端口是否在监听
- if lsof -i :"$PORT" > /dev/null 2>&1; then
- return 0
- fi
- fi
- fi
- return 1
- }
- # 启动服务器
- start_server() {
- echo "$(date): Starting servo sizer server..." >> "$LOG_FILE"
- cd "$SERVER_DIR"
- nohup ./start_optimized.sh > "$LOG_FILE" 2>&1 &
- sleep 3
-
- # 验证启动成功
- if check_server; then
- echo "$(date): Server started successfully" >> "$LOG_FILE"
- return 0
- else
- echo "$(date): Failed to start server" >> "$LOG_FILE"
- return 1
- fi
- }
- # 主监控循环
- while true; do
- if ! check_server; then
- echo "$(date): Server not running, attempting to restart..." >> "$LOG_FILE"
- start_server
- fi
- sleep 30
- done
|