| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- # LQMDRetrieval 服务管理脚本
- APP_DIR="$(cd "$(dirname "$0")" && pwd)"
- PID_FILE="$APP_DIR/logs/server.pid"
- LOG_FILE="$APP_DIR/logs/server.log"
- start() {
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- if kill -0 "$PID" 2>/dev/null; then
- echo "服务已在运行 (PID: $PID)"
- return 1
- fi
- fi
- mkdir -p "$APP_DIR/logs"
- cd "$APP_DIR"
- nohup python run_server.py > "$LOG_FILE" 2>&1 &
- echo $! > "$PID_FILE"
- echo "服务已启动 (PID: $(cat "$PID_FILE"))"
- }
- stop() {
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- if kill -0 "$PID" 2>/dev/null; then
- kill "$PID"
- echo "服务已停止 (PID: $PID)"
- else
- echo "服务未运行"
- fi
- rm -f "$PID_FILE"
- else
- echo "服务未运行"
- fi
- }
- restart() {
- stop
- sleep 2
- start
- }
- status() {
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- if kill -0 "$PID" 2>/dev/null; then
- echo "服务正在运行 (PID: $PID)"
- else
- echo "服务未运行 (PID 文件存在但进程不存在)"
- fi
- else
- echo "服务未运行"
- fi
- }
- case "$1" in
- start) start ;;
- stop) stop ;;
- restart) restart ;;
- status) status ;;
- *) echo "用法: $0 {start|stop|restart|status}" ;;
- esac
|