linux进程控制编程,通过一个相对复杂程序分析fork()函数

代码分析

  程序分析

#include <unistd.h>  
#include <stdio.h>  

int main(void)  
{  
	int i=0, k=0;  
	for(i=0;i<2;i++)
	{  
		pid_t fpid=fork();  
		if(fpid==0)
		{
			printf("son, %d, */n", ++k);
		}
		else
		{
			printf("father, %d, */n", ++k);
		}
	}  
	return 0;  
}  

执行结果

  父子进程之间顺序无需关注,每次执行都不尽相同,主要理清其间关系,以我的某次执行结果为例: 下面是我手绘的解释图,字丑见谅,同样也是先存到缓冲区,最后一并输出
执行结果
执行结果