diff --git a/virtcontainers/factory/cache/cache.go b/virtcontainers/factory/cache/cache.go index 3f672eb8f..a4f40402a 100644 --- a/virtcontainers/factory/cache/cache.go +++ b/virtcontainers/factory/cache/cache.go @@ -63,6 +63,7 @@ func New(ctx context.Context, count uint, b base.FactoryBase) base.FactoryBase { case <-closed: c.removeFromVmm(vm) vm.Stop() + vm.Disconnect() c.wg.Done() return } diff --git a/virtcontainers/kata_proxy.go b/virtcontainers/kata_proxy.go index 52f3ef045..e04b4cfff 100644 --- a/virtcontainers/kata_proxy.go +++ b/virtcontainers/kata_proxy.go @@ -47,6 +47,9 @@ func (p *kataProxy) start(params proxyParams) (int, string, error) { } cmd := exec.Command(args[0], args[1:]...) + cmd.SysProcAttr = &syscall.SysProcAttr{ + Setsid: true, + } if err := cmd.Start(); err != nil { return -1, "", err }