Linux下的C的编程中的fork( )函数是学习中比较难理解的概念之一。初学者刚接触这类函数要多琢磨、深入理解fork( )函数的意义和创建过程,才能更好的掌握fork( )这类函数啦。(嘿嘿,当然这只是笔者我自己的观点啦)。下面本人想利用自己的对fork( )函数的理解,编写出来的fork( )函数的趣味应用之用fork( )创建的家族关系简化图。
Patr1:先向大家展示用pstree命令显示出的效果吧:
Part2:实现的代码截图:
#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
pid_t a_a;
a_a=fork();
if(a_a==-1)
{
exit(-1);
}else if(a_a==0)
{
pid_t a_a_a;
a_a_a=fork();
if(a_a_a==-1)
{
exit(-1);
}else if(a_a_a==0)
{
while(1);
}else
{
while(1);
}
}else
{
pid_t a_b;
a_b=fork();
if(a_b==-1)
{
exit(-1);
}else if(a_b==0)
{
pid_t a_b_a;
a_b_a=fork();
if(a_b_a==-1)
{
exit(-1);
}else if(a_b_a==0)
{
while(1);
}else
{
pid_t a_b_b;
a_b_b=fork();
if(a_b_b==-1)
{
exit(-1);
}else if(a_b_b==0)
{
while(1);
}else
{
while(1);
}
}
}else
{
while(1);
}
}
return 0;
}
注:代码简易的表示出了家族关系的大概,要是发现错误的地方,要留言指出哦。。