5

为什么

int main(...) {  
    fork();  
    printf("hello again\n");  
    exit(0);  
}

不创建无限数量的进程?我理解如下,主进程创建一个子进程,子进程创建另一个子进程,以此类推。

4

2 回答 2

7

在父子节点的分叉之后继续执行,它不会重新启动程序。

于 2013-01-27T20:26:26.917 回答
3

父进程在被调用的执行点被“克隆” fork(),两个进程都从那里开始。子进程不会通过再次调用 main() 重新开始。

于 2013-01-27T20:27:55.047 回答