子进程与父进程

子进程不继承父进程的哪些?

  • 继承由timer_create函数创建的计时器

  • 继承异步输入和输出

  • 阻塞信号集初始化为空集
  •  子进程不继承父进程的记录锁.

继承了哪些?

  • 子进程从父进程继承了用户号
  • 用户组号,
  • 用户信息,
  • 目录信息,
  • 环境(表),
  • 打开的文件描述符,
  • 堆栈,
  • (共享)内存
  • 进程组号.
  •  会话ID.
  •  控制终端.
  • . 当前工作目录.
  • . 根目录.
  • . 文件创建掩码UMASK.

链接:https://www.nowcoder.com/questionTerminal/023e148777bc4a8db24ddbe4550285f9?orderByHotValue=1&mutiTagIds=618&page=1&onlyReference=fals


经过fork()以后,父进程和子进程拥有相同内容的代码段、数据段和用户堆栈,就像父进程把自己克隆了一遍。

事实上,父进程只复制了自己的PCB块。

而代码段,数据段和用户堆栈内存空间并没有复制一份,而是与子进程共享。

只有当子进程在运行中出现写操作时,才会产生中断,并为子进程分配内存空间。

原文地址:https://www.cnblogs.com/zhangkele/p/7542091.html