【Linux】fork之后,子进程继承了父进程哪些内容

  • 父进程经过fork()以后,父进程和子进程拥有相同内容的代码段、数据段和用户堆栈,就像父进程把自己克隆了一遍。事实上,父进程只复制了自己的PCB块。而代码段,数据段和用户堆栈内存空间并没有复制一份,而是与子进程共享。只有当子进程在运行中出现写操作时,才会产生中断,并为子进程分配内存空间。

子进程继承父进程的部分

  1. 用户号UIDs和用户组号GIDs
  2. 环境Environment
  3. 堆栈
  4. 共享内存
  5. 打开文件的描述符
  6. 执行时关闭(Close-on-exec)标志
  7. 信号(Signal)控制设定
  8. 进程组号
  9. 当前工作目录
  10. 根目录
  11. 文件方式创建屏蔽字
  12. 资源限制
  13. 控制终端

子进程独有

  1. 进程号PID
  2. 不同的父进程号
  3. 自己的文件描述符和目录流的拷贝
  4. 子进程不继承父进程的进程正文(text),数据和其他锁定内存(memory locks)
  5. 不继承异步输入和输出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值