예제 소스
SGF 기보로 학습하는 바둑 LLM 인공지능 · 파일 169개
daemon_vlm_eval_day.py
#!/usr/bin/env python3
"""Double-fork daemon launcher for day-long VLM eval (macOS-safe)."""
from __future__ import annotations
import os
import sys
from pathlib import Path
ROOT = Path("~/project")
SCRIPT = ROOT / "scripts" / "run_vlm_eval_day.sh"
LOG = ROOT / "logs" / "vlm_eval_day" / "runner_outer.log"
def main() -> int:
LOG.parent.mkdir(parents=True, exist_ok=True)
if os.fork() > 0:
return 0
os.setsid()
if os.fork() > 0:
os._exit(0)
os.chdir(ROOT)
os.umask(0)
# redirect stdio
with open(LOG, "a", encoding="utf-8") as logf:
os.dup2(logf.fileno(), 1)
os.dup2(logf.fileno(), 2)
devnull = os.open(os.devnull, os.O_RDONLY)
os.dup2(devnull, 0)
os.close(devnull)
os.execv("/bin/bash", ["bash", str(SCRIPT)])
return 1
if __name__ == "__main__":
raise SystemExit(main())