[mag@vertex:~]% cat a.c #include #include #include int main() { printf("pid: %d\n", getpid()); if(fork()) { sleep(1); exit(0); } printf("in child: parent pid: %d\n", getppid()); printf("setpgid returns %d\n", setpgid(0, 0)); printf("in child after setpgid: parent pid: %d\n", getppid()); } [mag@vertex:~]% gcc -o a a.c [mag@vertex:~]% ./a pid: 8066 in child: parent pid: 8066 setpgid returns 0 in child after setpgid: parent pid: 8066 [mag@vertex:~]%