打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
子进程自父进程继承什么或未继承什么

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

由子进程自父进程继承到

  1. 进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs))
  2. 环境(environment)
  3. 堆栈
  4. 内存
  5. 打开文件的描述符(注意对应的文件的位置由父子进程共享, 这会引起含糊情况)
  6. 执行时关闭(close-on-exec) 标志 (译者注:close-on-exec标志可通过fnctl()对文件描 述符设置,POSIX.1要求所有目录流都必须在exec函数调用时关闭。更详细说明, 参见《UNIX环境高级编程》 W. R. Stevens, 1993, 尤晋元等译(以下简称《高级编程》), 3.13节和8.9)
  7. (signal)控制设定
  8. nice (译者注:nice值由nice函数设定,该值表示进程的优先级, 数值越小,优先级越高)
  9. 进程调度类别(scheduler class) (译者注:进程调度类别指进程在系统中被调度时所属的类别,不同类别有不同优先级,根据进程调度类别和nice值,进程调度程序可计算出每个进程的全局优先级(Global processprority),优先级高的进程优先执行)
  10. 进程组号
  11. 对话期ID(Session ID) (译者注:译文取自《高级编程》,指:进程所属的对话期(session)ID, 一个对话期包括一个或多个进程组, 更详细说明参见《高级编程》 9.5)
  12. 当前工作目录
  13. 根目录 (译者注:根目录不一定是“/”,它可由chroot函数改变)
  14. 文件方式创建屏蔽字(file mode creation mask (umask)) (译者注:译文取自《高级编程》,指:创建新文件的缺省屏蔽字)
  15. 资源限制
  16. 控制终端

子进程所独有

  1. 进程号
  2. 不同的父进程号(译者注: 即子进程的父进程号与父进程的父进程号不同, 父进程号可由getppid函数得到)
  3. 自己的文件描述符和目录流的拷贝(译者注: 目录流由opendir函数创建,因其为顺序读取,顾称目录流”)
  4. 子进程不继承父进程的进程,正文(text), 数据和其它锁定内存(memory locks) (译者注:锁定内存指被锁定的虚拟内存页,锁定后,不允许内核将其在必要时换出(page out), 详细说明参见《TheGNU C Library Reference Manual 2.2版, 1999, 3.4.2)
  5. tms结构中的系统时间(译者注:tms结构可由times函数获得,它保存四个数据用于记录进程使用中央处理器 (CPUCentralProcessing Unit)的时间,包括:用户时间,系统时间, 用户各子进程合计时间,系统各子进程合计时间)
  6. 资源使用(resource utilizations)设定为0
  7. 阻塞信号集初始化为空集(译者注:原文此处不明确, 译文根据fork函数手册页稍做修改)
  8. 不继承由timer_create函数创建的计时器
  9. 不继承异步输入和输出
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
进程切换内核抢占概念
linux 任务调度机制
Linux的任督二脉:进程调度和内存管理
Linux进程优先级的调整方法(转)
Linux内核之CFS调度和组调度
剖析Android中进程与线程调度之nice
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服