import subprocess
import time
import os
import sys
from pathlib import Path

WORKSPACE = Path(r"c:\Projects\JX")
RUNTIME_EXE = WORKSPACE / "runtime" / "JXHelper_Runtime.exe"
RUNTIME_DIR = WORKSPACE / "runtime"

def main():
    print(f"Launching {RUNTIME_EXE} in {RUNTIME_DIR}...")
    DETACHED_PROCESS = 0x00000008
    CREATE_NEW_PROCESS_GROUP = 0x00000200
    proc = subprocess.Popen(
        [str(RUNTIME_EXE)],
        cwd=str(RUNTIME_DIR),
        creationflags=DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP,
        close_fds=True
    )
    print(f"Launched with PID: {proc.pid}")
    time.sleep(2)
    poll = proc.poll()
    if poll is not None:
        print(f"Process exited immediately with code: {poll}")
    else:
        print(f"Process is running smoothly (PID: {proc.pid})!")

if __name__ == "__main__":
    main()
