修复agent执行命令可能会残留子进程
This commit is contained in:
+3
@@ -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"]
|
||||
|
||||
+5
-1
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user