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 conrustc 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.