まえがき std::processはポータブルな実装だがにここではunix着目する プロセス起動 新しいプロセスを立ち上げてプログラムを実行する サブプロセスと言ったりもする プロセス プログラムを実行している主体 いろいろ状態をもってる メモリ空間 ファイルディスクリプタ 環境変数 prcess::Command プロセス起動を行うためのAPI 実装はポータブル(Posix/Windows) UNIXでいうfork-execを行う シェルを経由する専用APIは用意しない newやargの引数に sh -c を渡せばできる イメージ 以下の例ではシェルを経由して実行 output で出力を受け取るまで暗黙にwait let output = Command::new("sh") .arg("-c") .arg("echo hello") .output() .expect("failed