Files
ppu_deepseek_v4_pro_patch/examples/launch.py

22 lines
894 B
Python
Raw Normal View History

2026-10-21 15:52:23 +08:00
import os,sys,json,resource,subprocess,signal,time
from contextlib import nullcontext
2026-10-21 15:52:23 +08:00
from pathlib import Path
base=Path(__file__).parent
resource.setrlimit(resource.RLIMIT_MEMLOCK,(resource.RLIM_INFINITY,resource.RLIM_INFINITY))
cfg=json.loads((base/"command-serial.json").read_text())
env=os.environ.copy();env.update(cfg["env"])
log=base/sys.argv[1] if len(sys.argv)>1 else None
with log.open("w") if log else nullcontext(None) as f:
2026-10-21 15:52:23 +08:00
p=subprocess.Popen(cfg["args"],env=env,stdout=f,stderr=subprocess.STDOUT,start_new_session=True,cwd="/workspace/pytorch")
(base/"serve.pid").write_text(str(p.pid))
print("SERVER_PID",p.pid,"LOG",log if log else "stdout",flush=True)
2026-10-21 15:52:23 +08:00
rc=p.wait()
print("SERVER_EXIT",rc,flush=True)
if rc:
try: os.killpg(p.pid,signal.SIGTERM)
except ProcessLookupError: pass
time.sleep(3)
try: os.killpg(p.pid,signal.SIGKILL)
except ProcessLookupError: pass
sys.exit(rc)