38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# FreeCut 自由剪辑 启动脚本
|
|
cd "$(dirname "$0")"
|
|
PORT=${PORT:-16089}
|
|
PY=/home/hz1/miniconda3/envs/openclaw/bin/python3
|
|
LOG=logs/app.log
|
|
mkdir -p logs
|
|
|
|
case "${1:-start}" in
|
|
start)
|
|
if [ -f logs/app.pid ] && kill -0 "$(cat logs/app.pid)" 2>/dev/null; then
|
|
echo "FreeCut 已在运行 (PID $(cat logs/app.pid), 端口 $PORT)"
|
|
exit 0
|
|
fi
|
|
nohup env PORT=$PORT $PY app.py >> "$LOG" 2>&1 &
|
|
echo $! > logs/app.pid
|
|
sleep 1.2
|
|
echo "FreeCut 已启动: http://$(hostname -I 2>/dev/null | awk '{print $1}'):$PORT/ (PID $(cat logs/app.pid))"
|
|
;;
|
|
stop)
|
|
if [ -f logs/app.pid ] && kill -0 "$(cat logs/app.pid)" 2>/dev/null; then
|
|
kill "$(cat logs/app.pid)" && echo "已停止"
|
|
rm -f logs/app.pid
|
|
else
|
|
echo "未在运行"
|
|
fi
|
|
;;
|
|
restart) "$0" stop; sleep 0.6; "$0" start ;;
|
|
status)
|
|
if [ -f logs/app.pid ] && kill -0 "$(cat logs/app.pid)" 2>/dev/null; then
|
|
echo "运行中 (PID $(cat logs/app.pid), 端口 $PORT)"
|
|
else
|
|
echo "未运行"
|
|
fi
|
|
;;
|
|
*) echo "用法: ./start.sh [start|stop|restart|status]";;
|
|
esac
|