进程的创建模型

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);//回收子进程资源

  }

  }

原文地址:https://www.cnblogs.com/edan/p/8881206.html