Linux 下的 fork()【转载】
【原文地址】http://blog.csdn.net/hikaliv/article/details/4276758
- for( i = 0; i < 5; i++ )
- if( fork() == 0 )
- continue;
共生成多少个子进程?
简查了一下 fork() 的知识,它调用一次,返回两次,进入子进程并返回一次,然后退到父进程再返回一次,子进程中返回值为 0,父进程中返回的是子进程的进程号。
答案是 31。
如上图所示,这就是一个二项树,二项树结点的计算公式为 2^n - 1,当 n = 5 时,结果为 31。