Метод wait
Метод wait блокирует текущий поток до тех пор, пока дочерний процесс не завершится. Он возвращает объект Result, содержащий ExitStatus в случае успеха. Параметров метод не принимает.
Синтаксис
child.wait()
Пример
Давайте запустим команду echo и дождемся её завершения:
use std::process::Command;
fn main()
{
let mut child = Command::new("echo")
.arg("abcde")
.spawn()
.expect("failed to spawn");
let status = child.wait().expect("failed to wait");
println!("success: {}", status.success());
}
Результат выполнения кода:
success: true
Пример
Давайте проверим код возврата завершенного процесса:
use std::process::Command;
fn main()
{
let mut child = Command::new("false")
.spawn()
.expect("failed to spawn");
let status = child.wait().expect("failed to wait");
println!("code: {:?}", status.code());
}
Результат выполнения кода:
code: Some(1)
Смотрите также
-
метод
wait_with_output,
который ожидает завершения процесса и возвращает его вывод -
метод
kill,
который принудительно завершает дочерний процесс -
метод
output,
который запускает команду и возвращает её вывод -
метод
spawn,
который запускает дочерний процесс