虽然篇幅很长,但大多是易懂的代码,不用担心看不完 这里的所有操作,都将在下面的代码中有所体现 fork会拷贝当前进程的内存,并创建一个新的进程.如上图,fork函数会将整个进程的内存镜像拷贝到新的内存地址,包括代码段.数据段.堆栈以及寄存器内容.之后,我们就有了两个拥有完全一样内存的进程.fork系统调用在两个进程中都会返回,在父进程中,fork系统调用会返回子进程的pid.而在新创建的进程中,fork系统调用会返回0.所以即使两个进程的内存是完全一样的,我们还是可以通过fork的返回值区分旧进