修复agent执行命令可能会残留子进程

This commit is contained in:
xintaofei
2026-03-12 09:50:27 +08:00
parent d75e0cef48
commit 4e49e2f16a
8 changed files with 51 additions and 18 deletions

View File

@@ -61,6 +61,9 @@ version = "1.1"
version = "1.48"
features = ["full"]
[dependencies.kill_tree]
version = "0.2"
[dependencies.tokio-util]
version = "0.7"
features = ["compat"]

View File

@@ -230,7 +230,11 @@ impl ChildGuard {
impl Drop for ChildGuard {
fn drop(&mut self) {
let _ = self.0.start_kill();
if let Some(pid) = self.0.id() {
let _ = kill_tree::blocking::kill_tree(pid);
} else {
let _ = self.0.start_kill();
}
}
}