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

Метод kill

Метод kill класса Child принудительно завершает выполнение дочернего процесса. Он отправляет процессу сигнал завершения и возвращает результат типа io::Result<()>. Метод не принимает параметров. Если процесс уже завершился, метод всё равно вернёт Ok(()).

Синтаксис

child.kill()

Пример

Давайте запустим процесс sleep и завершим его через некоторое время:

use std::process::Command; use std::thread; use std::time::Duration; fn main() { let mut child = Command::new("sleep") .arg("10") .spawn() .expect("failed to spawn process"); thread::sleep(Duration::from_secs(1)); match child.kill() { Ok(_) => println!("process killed"), Err(e) => println!("error: {}", e), } }

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

"process killed"

Пример

Давайте попробуем завершить процесс, который уже завершился:

use std::process::Command; fn main() { let mut child = Command::new("echo") .arg("hello") .spawn() .expect("failed to spawn process"); let _ = child.wait(); match child.kill() { Ok(_) => println!("kill returned Ok"), Err(e) => println!("error: {}", e), } }

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

"kill returned Ok"

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

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