#!/bin/bash # --- 🧠 λ‡Œμ‚¬λ£Œ μ„œλ²„ 관리 슀크립트 --- APP_NAME="brain.py" PID_FILE="server.pid" LOG_FILE="logs/console.log" # 둜그 디렉토리 생성 확인 mkdir -p logs start() { if [ -f $PID_FILE ]; then PID=$(cat $PID_FILE) if ps -p $PID > /dev/null; then echo "⚠️ μ„œλ²„κ°€ 이미 μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€. (PID: $PID)" return fi fi echo "πŸš€ μ„œλ²„λ₯Ό λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹œμž‘ν•©λ‹ˆλ‹€... (Port: 5093)" # nohup으둜 μ‹€ν–‰ν•˜μ—¬ μ„Έμ…˜ μ’…λ£Œ 후에도 μœ μ§€ nohup python3 $APP_NAME > $LOG_FILE 2>&1 & # PID μ €μž₯ echo $! > $PID_FILE echo "βœ… μ„œλ²„ 기동 μ™„λ£Œ! (PID: $!)" echo "πŸ“ μ½˜μ†” 둜그: $LOG_FILE" } stop() { if [ -f $PID_FILE ]; then PID=$(cat $PID_FILE) echo "πŸ›‘ μ„œλ²„λ₯Ό μ€‘μ§€ν•˜λŠ” 쀑... (PID: $PID)" kill $PID rm $PID_FILE echo "βœ… μ„œλ²„κ°€ μ€‘μ§€λ˜μ—ˆμŠ΅λ‹ˆλ‹€." else echo "⚠️ μ‹€ν–‰ 쀑인 μ„œλ²„μ˜ PID νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€." fi } status() { if [ -f $PID_FILE ]; then PID=$(cat $PID_FILE) if ps -p $PID > /dev/null; then echo "🟒 μ„œλ²„κ°€ ν˜„μž¬ μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€. (PID: $PID)" else echo "πŸ”΄ PID νŒŒμΌμ€ μžˆμœΌλ‚˜ ν”„λ‘œμ„ΈμŠ€κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€." fi else echo "βšͺ μ„œλ²„κ°€ 쀑지 μƒνƒœμž…λ‹ˆλ‹€." fi } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 2 start ;; status) status ;; *) echo "μ‚¬μš©λ²•: $0 {start|stop|restart|status}" exit 1 esac exit 0