Метод null
Метод null класса Stdio создает
значение Stdio, которое указывает
на необходимость перенаправления потока
ввода-вывода в никуда. Данные, записанные
в такой поток, отбрасываются, а при чтении
из него немедленно возвращается конец файла.
Метод не принимает параметров и возвращает
значение типа Stdio.
Синтаксис
Stdio::null()
Пример
Давайте создадим команду и перенаправим ее стандартный вывод в никуда:
use std::process::{Command, Stdio};
fn main()
{
let output = Command::new("echo")
.arg("abcde")
.stdout(Stdio::null())
.output()
.expect("failed to execute process");
println!("stdout: {:?}", output.stdout);
}
Результат выполнения кода:
stdout: []
Пример
Давайте перенаправим стандартный поток ошибок в никуда:
use std::process::{Command, Stdio};
fn main()
{
let output = Command::new("ls")
.arg("/nonexistent_path_12345")
.stderr(Stdio::null())
.output()
.expect("failed to execute process");
println!("stderr: {:?}", output.stderr);
}
Результат выполнения кода:
stderr: []
Пример
Давайте перенаправим все три потока в никуда:
use std::process::{Command, Stdio};
fn main()
{
let status = Command::new("echo")
.arg("abcde")
.stdin(Stdio::null())
.stdout(Stdio::null())
.stderr(Stdio::null())
.status()
.expect("failed to execute process");
println!("success: {}", status.success());
}
Результат выполнения кода:
success: true