diff --git a/src/runtime/containerd-shim-v2/service.go b/src/runtime/containerd-shim-v2/service.go index 839d15055c..c24cfc8c25 100644 --- a/src/runtime/containerd-shim-v2/service.go +++ b/src/runtime/containerd-shim-v2/service.go @@ -917,6 +917,11 @@ func (s *service) Shutdown(ctx context.Context, r *taskAPI.ShutdownRequest) (_ * s.cancel() + // Since we only send an shutdown qmp command to qemu when do stopSandbox, and + // didn't wait until qemu process's exit, thus we'd better to make sure it had + // exited when shimv2 terminated. Thus here to do the last cleanup of the hypervisor. + syscall.Kill(int(s.hpid), syscall.SIGKILL) + os.Exit(0) // This will never be called, but this is only there to make sure the