#processes #children #operating-system #child-process

caoe

CaoE使父进程死亡时自动杀死所有派生的子进程(以及孙进程),即使被SIGKILL杀死

3个版本

0.1.2 2021年9月3日
0.1.1 2021年9月3日
0.1.0 2021年8月12日

576操作系统

MIT 许可证

8KB
133

CaoE - 当父进程死亡时杀死所有子进程

CaoE使父进程死亡时自动杀死所有派生的子进程(以及孙进程)变得简单,即使被SIGKILL杀死,并且是用Rust重写的。

用法

use nix::sys::signal::Signal;

// General usage, run the process in fork-and-fork model.
caoe::fork(Signal::SIGTERM).unwrap();

工作原理

当调用 caoe::fork() 时,它会派生一个子进程和一个孙进程。父进程和子进程都会阻塞,只有孙进程会继续运行。子进程会持续检查父进程的状态。如果它发现父进程已经死亡,它会杀死孙进程(如果有任何的话,还会杀死曾孙进程)并自杀。

依赖项

~1.5MB
~37K SLoC