修复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

@@ -328,6 +328,19 @@ impl TerminalManager {
}
killed
}
pub fn kill_all(&self) -> usize {
let mut instances: Vec<TerminalInstance> = {
let mut terminals = self.terminals.lock().unwrap();
terminals.drain().map(|(_, inst)| inst).collect()
};
let killed = instances.len();
for instance in &mut instances {
terminate_terminal(instance);
}
eprintln!("[TERM] kill_all killed_terminals={}", killed);
killed
}
}
fn terminate_terminal(instance: &mut TerminalInstance) {