게시판오목으로 이해하는 자기대국과 모방 학습예제 소스

예제 소스

오목으로 이해하는 자기대국과 모방 학습 · 파일 59개

start_omook_watchdog.sh

#!/usr/bin/env bash
# Omook 스택 워치독을 nohup 으로 기동 (Next:3002 + VLM:9299)
# launchd 가 필요하면: bash scripts/install_omook_launchd.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
PY="$ROOT/.venv/bin/python"
OUT="$ROOT/logs/omook_stack_watch"
PIDFILE="$OUT/watchdog.pid"
LOG="$OUT/watchdog.nohup.log"

if [[ ! -x "$PY" ]]; then
  echo "venv python not found: $PY" >&2
  exit 1
fi

mkdir -p "$OUT"

# 잔존/중복 워치독 정리 후 1개만 기동 (구형 TCP 프로브 프로세스 포함)
if pgrep -f 'daemon_omook_stack_watchdog.py' >/dev/null 2>&1; then
  echo "stopping existing omook watchdog(s): $(pgrep -f 'daemon_omook_stack_watchdog.py' | tr '\n' ' ')"
  pkill -f 'daemon_omook_stack_watchdog.py' 2>/dev/null || true
  sleep 2
fi
rm -f "$PIDFILE"

cd "$ROOT"
export PYTHONUNBUFFERED=1
export TOKENIZERS_PARALLELISM=false
export PORT=3002
export OMOOK_VLM_DEVICE="${OMOOK_VLM_DEVICE:-mps}"
export PATH="$HOME/.nvm/versions/node/v24.14.1/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"

nohup "$PY" scripts/daemon_omook_stack_watchdog.py >>"$LOG" 2>&1 &
echo $! >"$PIDFILE"
echo "started watchdog pid=$(cat "$PIDFILE")"
echo "HEARTBEAT: $OUT/HEARTBEAT.md"
echo "LOG: $OUT/watchdog.log"
sleep 3
lsof -nP -iTCP:3002,9299 -sTCP:LISTEN 2>/dev/null || true