Ejecución de Procesos Hijos en Rust

Beginner

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

Introducción

En este laboratorio, aprendemos sobre los procesos hijos en Rust utilizando la estructura process::Output para representar la salida de un proceso hijo finalizado y la estructura process::Command para construir procesos. El código de ejemplo demuestra cómo ejecutar el comando rustc --version y manejar la salida comprobando si el proceso tuvo éxito o fracasó.

Nota: Si el laboratorio no especifica un nombre de archivo, puede utilizar cualquier nombre de archivo que desee. Por ejemplo, puede utilizar main.rs, compilar y ejecutarlo con rustc main.rs &&./main.

Procesos hijos

La estructura process::Output representa la salida de un proceso hijo finalizado, y la estructura process::Command es un constructor de procesos.

use std::process::Command;

fn main() {
    let output = Command::new("rustc")
     .arg("--version")
     .output().unwrap_or_else(|e| {
            panic!("failed to execute process: {}", e)
    });

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

        print!("rustc succeeded and stdout was:\n{}", s);
    } else {
        let s = String::from_utf8_lossy(&output.stderr);

        print!("rustc failed and stderr was:\n{}", s);
    }
}

(Se le anima a probar el ejemplo anterior con una bandera incorrecta pasada a rustc)

Resumen

¡Felicitaciones! Has completado el laboratorio de Procesos Hijos. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.