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

Класс Command

Класс Command используется для настройки и запуска внешних процессов. Он позволяет указать программу для запуска, передать ей аргументы, задать переменные окружения, рабочую директорию и настроить потоки ввода-вывода. Экземпляр Command создаётся методом new, который параметром принимает имя или путь к исполняемой программе.

Синтаксис

use std::process::Command; let mut cmd = Command::new(program);

Пример

Давайте создадим команду для запуска программы "echo" и выведем информацию о ней через отладочный вывод:

use std::process::Command; fn main() { let cmd = Command::new("echo"); println!("{:?}", cmd); }

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

"echo"

Пример

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

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

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

"abcde"

Пример

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

use std::process::Command; fn main() { let status = Command::new("ls") .current_dir("/") .env("LANG", "C") .status() .expect("failed to execute process"); println!("{}", status.success()); }

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

true

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

  • метод new,
    который создаёт новую команду для запуска программы
  • метод arg,
    который добавляет один аргумент к команде
  • метод output,
    который запускает команду и возвращает её вывод
  • метод status,
    который запускает команду и возвращает статус завершения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить