From 9b078b02d7b5e179fa74bb5f7c500a0e1984d0e4 Mon Sep 17 00:00:00 2001 From: YoursFunny Date: Mon, 6 Jul 2026 15:37:16 +0800 Subject: [PATCH] fix: enhance subprocess.Popen to prevent emulator termination --- module/device/platform/platform_windows.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/module/device/platform/platform_windows.py b/module/device/platform/platform_windows.py index d4e38c2..6f38cda 100644 --- a/module/device/platform/platform_windows.py +++ b/module/device/platform/platform_windows.py @@ -54,7 +54,9 @@ class PlatformWindows(PlatformBase, EmulatorManager): """ command = command.replace(r"\\", "/").replace("\\", "/").replace('"', '"') logger.info(f'Execute: {command}') - return subprocess.Popen(command, close_fds=True) # only work on Windows + # `close_fds` only work on Windows + # `start_new_session` to avoid emulator getting tree-killed when Alas gets killed + return subprocess.Popen(command, close_fds=True, start_new_session=True) @classmethod def kill_process_by_regex(cls, regex: str) -> int: