Operating system 假设每个fork成功执行,将创建多少个进程(包括父进程)

Operating system 假设每个fork成功执行,将创建多少个进程(包括父进程),operating-system,fork,Operating System,Fork,我相信这创造了5个过程;但是,我需要核实。这些问题常常使我感到困惑。谢谢你的帮助 void forktest() { printf("L0\n"); if (fork() != 0) { printf("L1\n"); if (fork() != 0) { printf("L2\n"); fork(); } } printf("Bye\n"); } void

我相信这创造了5个过程;但是,我需要核实。这些问题常常使我感到困惑。谢谢你的帮助

void forktest()
{
   printf("L0\n");
   if (fork() != 0) 
   { 
       printf("L1\n");
       if (fork() != 0)
       {
           printf("L2\n");
           fork();
       }
   }
   printf("Bye\n");
}

void forktest()
{
printf(“L0\n”);
如果(fork()!=0)
main
   |
   |
fork  --- (first child)
   |
   |
fork  --- (second child)
   |
   |
fork  --- (third child)
void forktest()
{
   printf("L0\n");
   if (fork() != 0) <----- first child, only parent goes inside the if
   { 
       printf("L1\n");
       if (fork() != 0) <------ second child, only parent goes inside the if
       {
           printf("L2\n"); 
           fork();       <------ third child
       }
   }
   printf("Bye\n");
}