每个进程除了有个进程id外,他还属于一个进程组。每个进程组可以有一个组长进程,组长进程的id就是进程组的id。
只要进程组中有一个进程存在,则这个进程组就存在,和其组长进程是否终止无关。从进程组创建到进程组中最后
一个进程离开为止称为进程组的生命周期。为什么用离开,而不是终止?因为最后一个进程可以选择离开该进程组到另一个
进程组也可以选择终止。进程可以通过
int setpgid(pid_t pid,pid_t pgid);
来加入一个现有的进程组,或者创建新进程组。
一个进程只能为自己或者其子进程去设置进程组id,在其子进程调用了exec函数后,他就不能再改变子进程的进程组id了。