How do I invoke a system command and capture its output?

std::process::Command allows for that.

There are multiple ways to spawn a child process and execute an arbitrary command on the machine:

  • spawn — runs the program and returns a value with details
  • output — runs the program and returns the output
  • status — runs the program and returns the exit code

One simple example from the docs:

use std::process::Command;

Command::new("ls")
        .arg("-l")
        .arg("-a")
        .spawn()
        .expect("ls command failed to start");

Leave a Comment