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

Тип Stdio

Тип Stdio используется для настройки стандартных потоков (ввода, вывода и ошибок) при запуске дочернего процесса через Command. Он определяет, будет ли поток перенаправлен в канал (pipe), унаследован от родителя или перенаправлен в пустоту. Тип не имеет собственных параметров - его значения создаются с помощью ассоциированных методов piped, inherit и null.

Синтаксис

use std::process::Stdio; Stdio::piped() Stdio::inherit() Stdio::null()

Пример

Давайте запустим команду echo и перенаправим её стандартный вывод в канал, чтобы прочитать результат в родительском процессе:

use std::process::{Command, Stdio}; fn main() { let output = Command::new("echo") .arg("abcde") .stdout(Stdio::piped()) .output() .expect("failed to execute process"); let text = String::from_utf8_lossy(&output.stdout); println!("{}", text.trim()); }

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

"abcde"

Пример

Давайте запустим команду и перенаправим её стандартный вывод в пустоту, чтобы он не отображался в консоли:

use std::process::{Command, Stdio}; fn main() { let status = Command::new("echo") .arg("12345") .stdout(Stdio::null()) .status() .expect("failed to execute process"); println!("success: {}", status.success()); }

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

"success: true"

Пример

Давайте унаследуем стандартный вывод от родительского процесса, чтобы команда выводила данные напрямую в консоль:

use std::process::{Command, Stdio}; fn main() { let status = Command::new("echo") .arg("abcde") .stdout(Stdio::inherit()) .status() .expect("failed to execute process"); println!("success: {}", status.success()); }

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

"abcde" "success: true"

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

  • метод stdout,
    который настраивает стандартный поток вывода дочернего процесса
  • метод stdin,
    который настраивает стандартный поток ввода дочернего процесса
  • метод piped,
    который создаёт канал для обмена данными с процессом
  • метод output,
    который запускает процесс и возвращает его вывод
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить