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

Метод inherit

Метод inherit класса Stdio создает конфигурацию, при которой дочерний процесс будет использовать те же стандартные потоки (stdin, stdout, stderr), что и родительский процесс. Это означает, что ввод и вывод дочернего процесса напрямую связаны с терминалом или консолью родителя. Метод не принимает параметров и возвращает значение типа Stdio.

Синтаксис

Stdio::inherit()

Пример

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

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

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

abcde status: exit status: 0

Пример

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

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

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

total 8 drwxr-xr-x 2 user user 4096 Jan 1 00:00 . drwxr-xr-x 10 user user 4096 Jan 1 00:00 .. status: exit status: 0

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

  • класс Stdio,
    который представляет конфигурацию стандартного потока ввода-вывода
  • метод piped,
    который создает новый канал для потока ввода-вывода
  • метод null,
    который перенаправляет поток ввода-вывода в никуда
  • метод stdout,
    который настраивает стандартный поток вывода команды
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить