diff --git a/src/commands/start.rs b/src/commands/start.rs index 1bb5f98..f011af5 100644 --- a/src/commands/start.rs +++ b/src/commands/start.rs @@ -102,6 +102,12 @@ pub fn start_process( .stdout(Stdio::from(stdout_log)) .stderr(Stdio::from(stderr_log)); + #[cfg(windows)] + { + use std::os::windows::process::CommandExt; + cmd.creation_flags(0x00000008 | 0x00000200); // CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS + } + match cmd.spawn() { Ok(child) => { let pid = child.id(); @@ -152,6 +158,12 @@ pub fn start_process( .stdout(Stdio::from(stdout_log)) .stderr(Stdio::from(stderr_log)); + #[cfg(windows)] + { + use std::os::windows::process::CommandExt; + cmd.creation_flags(0x00000008 | 0x00000200); // CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS + } + match cmd.spawn() { Ok(child) => { let pid = child.id(); @@ -205,6 +217,12 @@ fn start_existing_process(process: &PmrProcessInfo) -> io::Result<()> { .stdout(Stdio::from(stdout_log)) .stderr(Stdio::from(stderr_log)); + #[cfg(windows)] + { + use std::os::windows::process::CommandExt; + cmd.creation_flags(0x00000008 | 0x00000200); // CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS + } + match cmd.spawn() { Ok(child) => { let pid = child.id();