Skip to main content

managed_output/
managed_output.rs

1//! Captures output while owning the process tree through completion.
2
3#[cfg(windows)]
4fn main() -> std::io::Result<()> {
5    use windows_spawn::{Command, DropPolicy, SpawnOptions};
6
7    let mut command = Command::new(r"C:\Windows\System32\cmd.exe");
8    command
9        .args(["/D", "/S", "/C"])
10        .raw_arg("echo managed output");
11    let output = command.output_with(SpawnOptions::new().drop_policy(DropPolicy::KillTree))?;
12
13    assert!(output.status.success());
14    print!("{}", String::from_utf8_lossy(&output.stdout));
15    Ok(())
16}
17
18#[cfg(not(windows))]
19fn main() {}