Executando Processos Filhos em Rust

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprendemos sobre processos filhos em Rust utilizando a estrutura process::Output para representar a saída de um processo filho concluído e a estrutura process::Command para construir processos. O código de exemplo demonstra como executar o comando rustc --version e lidar com a saída, verificando se o processo teve sucesso ou falhou.

Nota: Se o laboratório não especificar um nome de arquivo, você pode usar qualquer nome de arquivo que desejar. Por exemplo, você pode usar main.rs, compilar e executar com rustc main.rs && ./main.

Processos Filhos

A estrutura process::Output representa a saída de um processo filho concluído, e a estrutura process::Command é um construtor de processos.

use std::process::Command;

fn main() {
    let output = Command::new("rustc")
        .arg("--version")
        .output().unwrap_or_else(|e| {
            panic!("falha ao executar o processo: {}", e)
    });

    if output.status.success() {
        let s = String::from_utf8_lossy(&output.stdout);

        print!("rustc teve sucesso e a saída padrão foi:\n{}", s);
    } else {
        let s = String::from_utf8_lossy(&output.stderr);

        print!("rustc falhou e a saída de erro foi:\n{}", s);
    }
}

(É recomendado tentar o exemplo anterior com um sinalizador incorreto passado para rustc)

Resumo

Parabéns! Você concluiu o laboratório de Processos Filhos. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.