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

Метод spawn

Метод spawn класса Command запускает внешнюю команду как отдельный дочерний процесс и сразу возвращает управление, не дожидаясь его завершения. Метод возвращает значение типа Result<Child, Error>: при успешном запуске возвращается объект Child, через который можно ожидать завершения процесса, получить его идентификатор или завершить его принудительно. Параметров метод не принимает.

Синтаксис

command.spawn()

Пример

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

use std::process::Command; fn main() { let mut child = Command::new("echo") .arg("abcde") .spawn() .expect("failed to spawn command"); let status = child.wait() .expect("failed to wait for command"); println!("{}", status.success()); }

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

true

Пример

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

use std::process::Command; fn main() { let child = Command::new("echo") .arg("12345") .spawn() .expect("failed to spawn command"); println!("pid: {}", child.id()); }

Пример вывода (идентификатор процесса может отличаться):

pid: 12345

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

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