fork小点——关于fork到底怎么执行的

来源:互联网 发布:91.p9p.co ev.php 编辑:程序博客网 时间:2024/05/22 01:51

要点:父进程和子进程是共享代码段

下面 这段 代码 实际有 4个进程,开头的"----"会打印4次

int main(void){    printf("--------");    pid_t p = getpid();    pid_t p1 = fork();     pid_t p2 = fork()}

具体理解 见图

---为原来的 进程

| 为新创建的进程

----p1 = fork()—>p2 = fork---------

        |                                |

       p2 = fork                  |

        |          |

所以 有4个进程,而由于共享 代码段, 所以 前面的printf("--------"); 也会拷贝 并执行

0 0