From f6b8506b1733f42779ca7917a901057c03476c43 Mon Sep 17 00:00:00 2001 From: Oilbeater Date: Thu, 8 Mar 2018 22:58:54 +0800 Subject: [PATCH] change nginx process pgid (#2181) put restarted nginx process in another process group, just like the normal nginx start did in https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/nginx.go#L289 --- internal/ingress/controller/nginx.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/ingress/controller/nginx.go b/internal/ingress/controller/nginx.go index ef3e53735..d77b6d8b2 100644 --- a/internal/ingress/controller/nginx.go +++ b/internal/ingress/controller/nginx.go @@ -320,8 +320,12 @@ func (n *NGINXController) Start() { process.WaitUntilPortIsAvailable(n.cfg.ListenPorts.HTTP) // release command resources cmd.Process.Release() - cmd = exec.Command(n.binary, "-c", cfgPath) // start a new nginx master process if the controller is not being stopped + cmd = exec.Command(n.binary, "-c", cfgPath) + cmd.SysProcAttr = &syscall.SysProcAttr{ + Setpgid: true, + Pgid: 0, + } n.start(cmd) } case event := <-n.updateCh.Out():