РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1004 of 1245 menu

Метод wait_with_output

Метод wait_with_output принадлежит классу Child и ожидает завершения дочернего процесса, после чего возвращает объект Output, содержащий код выхода, а также данные, захваченные из стандартного вывода и потока ошибок. Метод не принимает параметров и возвращает значение типа io::Result<Output>. Для корректной работы метода потоки вывода и ошибок должны быть настроены через Stdio::piped.

Синтаксис

child.wait_with_output()

Пример

Давайте запустим команду echo с аргументом "abcde" и дождёмся её завершения, получив результат:

use std::process::Command; fn main() { let child = Command::new("echo") .arg("abcde") .stdout(std::process::Stdio::piped()) .spawn() .unwrap(); let output = child.wait_with_output().unwrap(); let text = String::from_utf8(output.stdout).unwrap(); println!("{}", text.trim()); }

Результат выполнения кода:

"abcde"

Пример

Давайте получим код выхода завершённого процесса:

use std::process::Command; fn main() { let child = Command::new("echo") .arg("12345") .stdout(std::process::Stdio::piped()) .spawn() .unwrap(); let output = child.wait_with_output().unwrap(); println!("{}", output.status.success()); }

Результат выполнения кода:

true

Смотрите также

  • метод wait,
    который ожидает завершения процесса без захвата вывода
  • метод output,
    который запускает команду и сразу возвращает её результат
  • класс Output,
    который хранит код выхода и захваченные потоки вывода
  • метод spawn,
    который запускает процесс и возвращает объект Child
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить