この記事は tokio 0.3.x に対応しています はじめに Rust で ls 等の外部コマンドを実行したいときは std::process::Command が使えます。 下記の例では spawn() を使ってコマンドを子プロセスで実行します。標準入力と標準出力は inherit されます。つまり、cargo run を実行しているターミナルに結果が出力されます。 use std::process::Command; // 子プロセスとして実行します Command::new("ls") .args(&["-l", "-a"]) .spawn() .expect("failed to start `ls`"); use std::process::Command; // コマンドの結果を待機します let output = Command::new("ls") .args(&["-l