diff --git a/src/agent/rustjail/src/container.rs b/src/agent/rustjail/src/container.rs index 88c058868a..a1207104fc 100644 --- a/src/agent/rustjail/src/container.rs +++ b/src/agent/rustjail/src/container.rs @@ -1063,7 +1063,19 @@ impl BaseContainer for LinuxContainer { let st = self.oci_state()?; for pid in self.processes.keys() { - signal::kill(Pid::from_raw(*pid), Some(Signal::SIGKILL))?; + match signal::kill(Pid::from_raw(*pid), Some(Signal::SIGKILL)) { + Err(Errno::ESRCH) => { + info!( + self.logger, + "kill encounters ESRCH, pid: {}, container: {}", + pid, + self.id.clone() + ); + continue; + } + Err(err) => return Err(anyhow!(err)), + Ok(_) => continue, + } } if spec.hooks.is_some() {