From 32431d701c2ee4db77ff8f5f53e18d2a508d3090 Mon Sep 17 00:00:00 2001 From: "fupan.lfp" Date: Thu, 2 Apr 2020 15:42:53 +0800 Subject: [PATCH] rpc: fix the issue of kill container process When kill a process, if the exec id is empty, then it means to kill all processes in the container, if the exec id isn't empty, then it will only kill the specific exec process. Signed-off-by: fupan.lfp --- src/agent/src/grpc.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/agent/src/grpc.rs b/src/agent/src/grpc.rs index 9b724a1d25..854a3cbef8 100644 --- a/src/agent/src/grpc.rs +++ b/src/agent/src/grpc.rs @@ -305,6 +305,7 @@ impl agentService { let eid = req.exec_id.clone(); let s = Arc::clone(&self.sandbox); let mut sandbox = s.lock().unwrap(); + let mut init = false; info!( sl!(), @@ -312,7 +313,12 @@ impl agentService { "container-id" => cid.clone(), "exec-id" => eid.clone() ); - let p = find_process(&mut sandbox, cid.as_str(), eid.as_str(), true)?; + + if eid == "" { + init = true; + } + + let p = find_process(&mut sandbox, cid.as_str(), eid.as_str(), init)?; let mut signal = Signal::try_from(req.signal as i32).unwrap();