1、每个进程有进程ID,也有一个进程组ID
每个进程有一个进程组长,它的进程ID就是进程组的ID
getpgid(pid)//pid为0,则返回调用进程的pgid
2、进程组组长创建了进程组,直到最后一个组内最后进程结束,进程组才会结束,与组长是否结束无关。
3、设置setpgid(pid,pgid):给特定进程设置组ID
一个进程只能为自己和子进程设置进程组ID
4========================================
默认情况下父子进程在一个进程组内,子进程继承父进程的组ID。
子进程可以通过创建一个会话,使自己成为一个会话的首进程,并且成为新的进程组的领导进程,组ID就是当前会话首进程的ID。
系统登陆SHELL,就是默认子进程的父进程,当启动新的进程时,它会设置新的子进程的进程组为子进程ID。