Put children in process groups.

This way, if the child has subprocesses of its own, they'll get stopped when the parent does.