子进程是否从 Fork 函数 后 开始执行,执行函数后的代码。Fork函数之前的不执行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子进程是否从 Fork 函数 后 开始执行,执行函数后的代码。Fork函数之前的不执行?相关的知识,希望对你有一定的参考价值。
参考技术A 是的, 具体可以用命令man 2 fork来看下fork的函数说明追问但是,我写个小代码,fork()函数之前 写了一个语句 putchar(‘x’); 子进程总是执行该语句。输出一个X。这矛盾啊!
linux 中的多进程中,父进程与子进程共享的代码段和数据段、堆栈段,是整个程序还是出现在fork()函数后?
首先来说 不是共享 共享是同一个区域 但是fork后相当于复制了一份 也就相当于一个副本 所以 在以后的程序执行 父进程改变父进程的数据 子进程改变子进程的数据 所以不能说共享 他们相同的是整个程序 差不多就相当于是两个相同的程序在执行共享数据是线程 创建一个线程后他们的数据是共享的 他们是同一个数据 参考技术A 共享是同一个区域 但是fork后相当于复制了一份 也就相当于一个副本 所以 在以后的程序执行 父进程改变父进程的数据 子进程改变子进程的数据 所以不能说共享 他们相同的是整个程序
以上是关于子进程是否从 Fork 函数 后 开始执行,执行函数后的代码。Fork函数之前的不执行?的主要内容,如果未能解决你的问题,请参考以下文章