Clearly, in order to support kill(0) efficiently, the kernel must keep track of the child processes ofin a process group. But that information is not exposed at all, in any way to the user space. To get that information, Ione would have to iterate over the entire procfs tree, and check the ppidpgid.
This is true for Linux, *BSD, etc. All *nix systems I checked have this problem. Why are they designed this way?
EDIT: Change the question so the kill(0) example makes sense.