#!/bin/bash # 智能荐股系统 启动脚本 # 用法: ./start.sh [start|stop|restart|status|seed] DIR="$(cd "$(dirname "$0")" && pwd)" PORT=16095 PY=/home/hz1/miniconda3/envs/openclaw/bin/python3 LOG="$DIR/logs/app.log" PID_FILE="$DIR/logs/app.pid" start() { if [ -f "$PID_FILE" ] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then echo "已在运行 PID=$(cat "$PID_FILE")" return fi cd "$DIR" nohup "$PY" app.py >> "$LOG" 2>&1 & echo $! > "$PID_FILE" sleep 2 IP=$(hostname -I 2>/dev/null | awk '{print $1}') echo "✅ 智能荐股系统 已启动 http://${IP}:$PORT (PID $(cat "$PID_FILE"))" echo " 日志: $LOG" } stop() { if [ -f "$PID_FILE" ]; then kill "$(cat "$PID_FILE")" 2>/dev/null rm -f "$PID_FILE" echo "已停止" else echo "未在运行" fi } case "${1:-start}" in start) start ;; stop) stop ;; restart) stop; sleep 1; start ;; status) if [ -f "$PID_FILE" ] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then echo "运行中 PID=$(cat "$PID_FILE")"; curl -s -m 5 "http://127.0.0.1:$PORT/api/health"; echo else echo "未运行" fi ;; seed) cd "$DIR" && "$PY" seed_data.py "${2:-}" ;; *) echo "用法: $0 [start|stop|restart|status|seed]"; exit 1 ;; esac