小编Som*_*guy的帖子

子进程在创建时从第一行开始(使用fork)

为什么我的子进程从main的第一行开始?当我运行我的程序时,"Hello There"将被打印两次.子进程应该在fork之后开始,我对吗?

int main(){
       printf("Hello There!");
       pid_t PID;
       PID = fork();

       if(PID == 0){
          //Child
       }
       else{
          //parent
       }
}
Run Code Online (Sandbox Code Playgroud)

这对我来说是个大问题,因为在我的真实程序中,我在fork之前使用mmap制作私有文件.由于这一点,我发生了什么,父母和孩子有不同的私人文件..

c linux fork child-process

4
推荐指数
1
解决办法
129
查看次数

标签 统计

c ×1

child-process ×1

fork ×1

linux ×1