37 lines
1.0 KiB
Bash
37 lines
1.0 KiB
Bash
#!/bin/bash
|
|||
|
|
# AI Worker 项目管理平台 启动脚本
|
||
|
|
# 用法: ./start.sh [stop|restart|status]
|
||
|
|
cd "$(dirname "$0")"
|
||
|
|
PY=/home/hz1/miniconda3/envs/openclaw/bin/python3
|
||
|
|
PORT=16071
|
||
|
|
PIDFILE=logs/app.pid
|
||
|
|
|
||
|
|
start() {
|
||
|
|
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then
|
||
|
|
echo "已在运行 (PID $(cat $PIDFILE))"; exit 0
|
||
|
|
fi
|
||
|
|
nohup $PY app.py > logs/app.log 2>&1 &
|
||
|
|
echo $! > "$PIDFILE"
|
||
|
|
sleep 1.5
|
||
|
|
if kill -0 $(cat "$PIDFILE") 2>/dev/null; then
|
||
|
|
echo "✅ AI Worker 平台已启动: http://$(hostname -I 2>/dev/null | awk '{print $1}'):$PORT (PID $(cat $PIDFILE))"
|
||
|
|
else
|
||
|
|
echo "❌ 启动失败,查看 logs/app.log"; exit 1
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
stop() {
|
||
|
|
if [ -f "$PIDFILE" ]; then
|
||
|
|
kill $(cat "$PIDFILE") 2>/dev/null && echo "已停止 (PID $(cat $PIDFILE))"
|
||
|
|
rm -f "$PIDFILE"
|
||
|
|
else
|
||
|
|
echo "未在运行"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
case "$1" in
|
||
|
|
stop) stop ;;
|
||
|
|
restart) stop; sleep 1; start ;;
|
||
|
|
status) [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null && echo "运行中 (PID $(cat $PIDFILE))" || echo "未运行" ;;
|
||
|
|
*) start ;;
|
||
|
|
esac
|