Метод code класса ExitStatus
Метод code класса ExitStatus возвращает
код завершения дочернего процесса в виде значения типа
Option<i32>. Если процесс завершился с
определённым кодом, метод вернёт Some(code).
Если процесс был завершён сигналом (например, при
принудительном завершении), метод вернёт None.
Метод не принимает параметров.
Синтаксис
exit_status.code()
Пример
Давайте запустим команду, которая завершается успешно, и получим её код завершения:
use std::process::Command;
fn main()
{
let status = Command::new("true")
.status()
.expect("failed to execute command");
let code = status.code();
println!("{:?}", code);
}
Результат выполнения кода:
Some(0)
Пример
Давайте запустим команду, которая завершается с ошибкой, и получим её код завершения:
use std::process::Command;
fn main()
{
let status = Command::new("false")
.status()
.expect("failed to execute command");
let code = status.code();
println!("{:?}", code);
}
Результат выполнения кода:
Some(1)
Пример
Давайте проверим код завершения через сопоставление с образцом:
use std::process::Command;
fn main()
{
let status = Command::new("echo")
.arg("hello")
.status()
.expect("failed to execute command");
match status.code()
{
Some(code) => println!("exit code: {}", code),
None => println!("terminated by signal"),
}
}
Результат выполнения кода:
exit code: 0
Смотрите также
-
метод
success,
который проверяет, завершился ли процесс успешно -
класс
ExitStatus,
который представляет статус завершения процесса -
метод
status,
который запускает процесс и возвращает его статус -
метод
output,
который запускает процесс и возвращает его вывод