42 lines
973 B
Bash
Executable File
42 lines
973 B
Bash
Executable File
#!/bin/bash
|
|
# 素材库系统 start/stop 脚本 (默认 16091)
|
|
cd "$(dirname "$0")"
|
|
PORT=${PORT:-16091}
|
|
PID_FILE="material.pid"
|
|
LOG="logs/app.log"
|
|
PY=/home/hz1/miniconda3/envs/openclaw/bin/python3
|
|
|
|
mkdir -p logs data
|
|
|
|
start() {
|
|
if [ -f "$PID_FILE" ] && kill -0 "$(cat $PID_FILE)" 2>/dev/null; then
|
|
echo "已在运行 PID=$(cat $PID_FILE) (port $PORT)"
|
|
return
|
|
fi
|
|
nohup $PY app.py > "$LOG" 2>&1 &
|
|
echo $! > "$PID_FILE"
|
|
sleep 2
|
|
if kill -0 "$(cat $PID_FILE)" 2>/dev/null; then
|
|
echo "✅ 素材库系统已启动: http://$(hostname -I 2>/dev/null | awk '{print $1}'):$PORT PID=$(cat $PID_FILE)"
|
|
else
|
|
echo "❌ 启动失败,查看日志: $LOG"
|
|
tail -20 "$LOG"
|
|
fi
|
|
}
|
|
|
|
stop() {
|
|
if [ -f "$PID_FILE" ] && kill -0 "$(cat $PID_FILE)" 2>/dev/null; then
|
|
kill "$(cat $PID_FILE)"
|
|
rm -f "$PID_FILE"
|
|
echo "已停止"
|
|
else
|
|
echo "未在运行"
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
stop) stop ;;
|
|
restart) stop; sleep 1; start ;;
|
|
*) start ;;
|
|
esac
|