1个不稳定版本
0.1.0 | 2020年12月6日 |
---|
#27 in #杀死
7KB
65 行
Vorarbeiter,一个小型进程监视器
vorarbeiter::Supervisor
在 Drop
时通过发送 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