进程的创建模型
1.父进程创建多个并列的子进程a-->[a1,a2,a3,a4......]
如父进程创建四个子进程,用一个for循环,父进程用来创建子进程,子进程被创建后执行自己的任务。
#define NR 4
for(i=0;i<4;i++)
{
pid=fork()//child process
if(pid==-1) error;
if(pid==0)//子进程和父进程的分道口,使父子进程各自执行不同的人物
{
子进程执行任务,然后调用exit(0)结束。
}
for(i=0;i<NR;i++)
{ wait(NULL); }//等待回收所有子进程
2.线性创建子进程a->b->c->d->e;
for(i=0;i<NR;i++)
{
pid=fork();//creat child process
if(pid==-1) error;return;
else if(pid!=0)
{
父进程执行此任务,执行完毕调用break;退出循环
}
wait(NULL);//回收子进程资源
}
}