In addition to having a pid, each process belongs to exactly one process group.
For example, if a parent process creates several children, then the parent and all its children are in the same process group.
The process group id in this case would be the pid of the parent.
If the negative of a pid is passed to kill, the signal is sent to all processes with process group id equal to that pid.