Files
stock-advisor/start.sh
T

46 lines
1.2 KiB
Bash
Raw Normal View History

#!/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