如何用一个父进程创建多个子进程?


#include <unistd.h>  
#include <stdio.h>  
int main(void)  
{  
   int i=0;  
   printf("i son/pa ppid pid  fpid\n");  
   //ppid指当前进程的父进程pid  
   //pid指当前进程的pid,  
   //fpid指fork返回给当前进程的值  
   for(i=0;i<4;i++){  
       pid_t fpid=fork();//此句执行成功后,就有两个进程(父进程和子进程)  
       if(fpid==0) //子进程执行if语句
       {
           printf("%d child  %4d %4d %4d\n",i,getppid(),getpid(),fpid);  
           break;//父进程每产生一个子进程,子进程就跳出循环,这是关键部分,一定要理解
       }
       else//父进程执行else语句
       {  
           printf("%d parent %4d %4d %4d\n",i,getppid(),getpid(),fpid); 
           continue;//父进程继续执行循环体,产生子进程
       } 
   }  
   return 0;  
}  

 



技术分享

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。