Тип ExitStatus
Тип ExitStatus представляет собой статус завершения
дочернего процесса. Он возвращается методами status
и wait, а также содержится в структуре Output.
С помощью этого типа можно узнать, успешно ли завершился
процесс, а также получить код его завершения.
Синтаксис
std::process::ExitStatus
Методы
Тип ExitStatus предоставляет следующие методы:
status.success() -> bool
status.code() -> Option<i32>
Метод success возвращает true, если процесс
завершился успешно. Метод code возвращает код
завершения процесса или None, если процесс был
завершён сигналом.
Пример
Давайте запустим команду и проверим статус её завершения:
use std::process::Command;
fn main()
{
let status = Command::new("echo")
.arg("hello")
.status()
.unwrap();
println!("{}", status.success());
}
Результат выполнения кода:
true
Пример
Давайте получим код завершения процесса:
use std::process::Command;
fn main()
{
let status = Command::new("echo")
.arg("hello")
.status()
.unwrap();
println!("{:?}", status.code());
}
Результат выполнения кода:
Some(0)
Пример
Давайте запустим команду, которая завершится с ошибкой, и проверим её статус:
use std::process::Command;
fn main()
{
let status = Command::new("ls")
.arg("/nonexistent_path_xyz")
.status()
.unwrap();
println!("{}", status.success());
println!("{:?}", status.code());
}
Результат выполнения кода:
false
Some(2)