为什么fork创建子进程后,父进程中运行过的

2020-06-21 财经 82阅读
的确子进程包含有和父进程一样的代码和数据(虽然一样但的确是自己的一份)。但别忘了,自己成复制的不仅是父进程的代码和数据,还包括状态,这个状态就包含有PC指针寄存器的值。也就是说子进程创建完成后,他和父进程一样,PC指针都指向下一条语句,因此子进程是从自身创建完成后的地方继续运行,而父进程运行过得代码将不再运行。这就是为什么fork之前已经运行过的printf函数没有在子进程中运行的原因。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com