使用新的进程组标识golang启动命令

I'm starting a command and storing its PID with the intention of killing it later on. As the process is started with the command creates sub processes, I have to send the kill signal to all process group using

syscall.Kill(-pid, syscall.SIGINT)

This works fine in Linux but not on MacOS. The reason is that, on the mac when command starts it doesn't create it with a different process group, so sending signal to -pid is failing. (If I send the signal to pid, it doesn't kill the child processes)

I tried starting the command with the following flags as well, but it doesn't help on MacOS.

command := exec.Command(commandName, arg...)
command.SysProcAttr = &syscall.SysProcAttr{Setpgid: true, Pgid: 0}

The newly started process gets the group id of the terminal session where the go executable is running instead of new process group id. Is there a way to start a new process group in MacOS?