转载自:https://blog.csdn.net/xiaojun111111/article/details/51764389

知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为 不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是 这些东西的 *拷贝*,不是它们本身。

由子进程自父进程继承到:

  • 进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs))

  • 环境(environment)

  • 堆栈

  • 内存

  • 打开文件的描述符(注意对应的文件的位置由父子进程共享, 这会引起含糊情况)

  • 执行时关闭(close-on-exec) 标志 (译者注:close-on-exec标志可通过fnctl()对文件描 述符设置,POSIX.1要求所有目录流都必须在exec函数调用时关闭。更详细说明, 参见《UNIX环境高级编程》 W. R. Stevens, 1993, 尤晋元等译(以下简称《高级编程》), 3.13节和8.9节)

  • 信号(signal)控制设定

  • nice值 (译者注:nice值由nice函数设定,该值表示进程的优先级, 数值越小,优先级越高)

  • 进程调度类别(scheduler class) (译者注:进程调度类别指进程在系统中被调度时所属的类别,不同类别有不同优先级,根据进程调度类别和nice值,进程调度程序可计算出每个进程的全局优先级(Global process prority),优先级高的进程优先执行)

  • 进程组号

  • 对话期ID(Session ID) (译者注:译文取自《高级编程》,指:进程所属的对话期 (session)ID, 一个对话期包括一个或多个进程组, 更详细说明参见《高级编程》 9.5节)

  • 当前工作目录

  • 根目录 (译者注:根目录不一定是“/”,它可由chroot函数改变)

  • 文件方式创建屏蔽字(file mode creation mask (umask)) (译者注:译文取自《高级编程》,指:创建新文件的缺省屏蔽字)

  • 资源限制

  • 控制终端

子进程所独有:

  • 进程号

  • 不同的父进程号(译者注: 即子进程的父进程号与父进程的父进程号不同, 父进程号可由getppid函数得到)

  • 自己的文件描述符和目录流的拷贝(译者注: 目录流由opendir函数创建,因其为顺序读取,顾称“目录流”)

  • 子进程不继承父进程的进程,正文(text), 数据和其它锁定内存(memory locks) (译者注:锁定内存指被锁定的虚拟内存页,锁定后, 不允许内核将其在必要时换出(page out), 详细说明参见《The GNU C Library Reference Manual》 2.2版, 1999, 3.4.2节)

  • 在tms结构中的系统时间(译者注:tms结构可由times函数获得, 它保存四个数据用于记录进程使用中央处理器 (CPU:Central Processing Unit)的时间,包括:用户时间,系统时间, 用户各子进程合计时间,系统各子进程合计时间)

  • 资源使用(resource utilizations)设定为0

  • 阻塞信号集初始化为空集(译者注:原文此处不明确, 译文根据fork函数手册页稍做修改)

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

  • 不继承异步输入和输出

最新文章

  1. 重温Http协议--请求报文和响应报文
  2. 三分钟集成elmah xml 格式日志到mvc站点
  3. Objective-C 30分钟入门教程
  4. Goppa code
  5. bootstrap实现嵌入的button
  6. Ruby on Rail 开发入门
  7. LeetCode 142
  8. 解决ListView 跟ScroolView 共存 listItem.measure(0, 0) 空指针
  9. MYSQL使用指南(下)
  10. org.springframework.beans.BeanUtils
  11. 主机Window不能访问该虚拟机Linux Samba文件服务提供了一个文件夹
  12. Prime Path(BFS)
  13. css3 小图标提示特效
  14. MySQL密码重置(root用户)
  15. Python爬虫 股票数据爬取
  16. Embedded servlet containers
  17. php设计模式--简单介绍
  18. P1546 最短网络 Agri-Net题解(克鲁斯卡尔)
  19. mysql查看工具——mysql profiler sql
  20. 微信小程序下拉框之二维数组或对象

热门文章

  1. cvc-complex-type.2.3: Element 'servlet' cannot have character [children], because the type's content
  2. 日常Java 2021/11/15
  3. [源码解析] PyTorch分布式优化器(2)----数据并行优化器
  4. day27 网络编程
  5. Learning Spark中文版--第六章--Spark高级编程(1)
  6. Redis(一)【基础入门】
  7. Linux 设置时区
  8. Spring Boot的异步任务、定时任务和邮件任务
  9. Moment.js使用笔记
  10. C++STL标准库学习笔记(四)multiset续