Skip to content

Commit

Permalink
Add Windows SysProcAttr create new process group
Browse files Browse the repository at this point in the history
When programs on Windows are terminated the child processes will not be killed anymore.
  • Loading branch information
ClintonCollins committed Apr 24, 2021
1 parent 9ca92cd commit ead1c47
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion cmd_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ func terminateProcess(pid int) error {
}

func setProcessGroupID(cmd *exec.Cmd) {
cmd.SysProcAttr = &syscall.SysProcAttr{}
// Set create new process group so the cmd and all its children become a new
// process group. This allows Stop to SIGTERM the cmd's process group
// without killing this process (i.e. this code here).
cmd.SysProcAttr = &syscall.SysProcAttr{CreationFlags: syscall.CREATE_NEW_PROCESS_GROUP}
}

0 comments on commit ead1c47

Please sign in to comment.