File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed
Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -92,9 +92,8 @@ func (m *ManagerCtx) Start() error {
9292 read , write := io .Pipe ()
9393 m .cmd .Stdout = write
9494
95- m .cmd .SysProcAttr = & syscall.SysProcAttr {
96- Pdeathsig : syscall .SIGINT ,
97- }
95+ //create a new process group
96+ m .cmd .SysProcAttr = & syscall.SysProcAttr {Setpgid : true }
9897
9998 m .active = false
10099 m .lastRequest = time .Now ()
@@ -167,8 +166,15 @@ func (m *ManagerCtx) Stop() {
167166 close (m .shutdown )
168167
169168 if m .cmd .Process != nil {
170- err := m .cmd .Process .Kill ()
171- m .logger .Err (err ).Msg ("killing proccess" )
169+ pgid , err := syscall .Getpgid (m .cmd .Process .Pid )
170+ if err == nil {
171+ err := syscall .Kill (- pgid , syscall .SIGKILL )
172+ m .logger .Err (err ).Msg ("killing proccess group" )
173+ } else {
174+ m .logger .Err (err ).Msg ("could not get proccess group id" )
175+ err := m .cmd .Process .Kill ()
176+ m .logger .Err (err ).Msg ("killing proccess" )
177+ }
172178 m .cmd = nil
173179 }
174180
You can’t perform that action at this time.
0 commit comments