#子进程 #监视器 #下线 #杀死 #丢弃 #关闭 #shuts

vorarbeiter

一个用于关闭子进程的小型进程监视器

1个不稳定版本

0.1.0 2020年12月6日

#27 in #杀死

MIT/Apache

7KB
65

Vorarbeiter,一个小型进程监视器

vorarbeiter::SupervisorDrop 时通过发送 SIGTERM 信号首先关闭它所拥有的进程,然后发送 SIGKILL 信号

use std::process;

// The default kill timeout is 10 seconds, which is fine here.
let mut supervisor = vorarbeiter::Supervisor::default();

// Spawns three new child processes and adds them to the supervisor.
for _ in 0..3 {
    let child = process::Command::new("my-subcommand").spawn().unwrap();
    supervisor.add_child(child);
}

// Terminate all child processes.
drop(supervisor);

有关详细信息,请参阅文档


lib.rs:

允许干净关闭的进程的监视器。

有关核心功能,请参阅Supervisor。实际应用程序可能还需要使用setup_term_flag

示例

use std::process;

// The default kill timeout is 10 seconds, which is fine here.
let mut supervisor = vorarbeiter::Supervisor::default();

// Spawns three new child processes and adds them to the supervisor.
for _ in 0..3 {
    let child = process::Command::new("my-subcommand").spawn().unwrap();
    supervisor.add_child(child);
}

// Terminate all child processes, waiting for each to be completed or killed.
drop(supervisor);

依赖关系

~2MB
~37K SLoC