diff --git a/virtcontainers/factory/cache/cache.go b/virtcontainers/factory/cache/cache.go index 3f672eb8f8..a4f40402ad 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 52f3ef045c..e04b4cfff4 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 }