一、进程组:一个或多个进程的集合。通常,它们与一作业相关联,可以接收来自同一终端的信号。每个进程组有唯一的进程组ID。每个进程有一个组长进程,其进程ID就是进程组ID。
组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要进程组中有一个进程存在,进程组就一直存在,与其组长是否存在无关。
用代码创建一个进程组:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define ERR_EXIT(m) \
do\
{\
printf(m);\
exit(EXIT_FAILURE);\
}while(0)
int main()
{
pid_t pid;
if((pid = fork()) < 0)
ERR_EXIT("fork");
else if(pid == 0)
{
if(fork() < 0)
ERR_EXIT("fork");
while(