zoukankan      html  css  js  c++  java
  • linux多进程编程中,子进程继承父进程哪些东西

    子进程得到父进程东西的 拷贝,不是它们本身。

    父进程和子进程拥有独立的地址空间和PID参数

    子进程继承父进程

    • 环境(environment)变量
    • 堆栈
    • 连接的共享存储段(共享内存)
    • 打开文件的描述符(注意对应的文件的位置由父子进程共享,这会引起含糊情况)
    • 执行时关闭(close-on-exec) 标志 (译者注:close-on-exec标志可通过fnctl()对文件描述符设置,POSIX.1要求所有目录 流都必须在exec函数调用时关闭。更详细说明,参见《APUE》 W. R. Stevens, 1993, 尤晋元等译(以下简称《高级编 程》), 3.13节和8.9节)
    • 信号(signal)控制设定
    • nice值 (译者注:nice值由nice函数设定,该值表示进程的优先级,数值越小,优先级越高)
    • 进程调度类别(scheduler class) (译者注:进程调度类别指进程在系统中被调度时所属的类别,不同类别有不同优先级,根据进程调度类别和nice值,进程调度程序可计算出每个进程的全局优先级(Global process prority),优先级高的进程优 先执行)
    • 进程的资格 (真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs))
    • 进程组ID、添加组ID
    • 对话期ID (Session ID) (译者注:译文取自《高级编程》,指:进程所属的对话期 (session)ID,一个对话期包括一个或多 个进程组,更详细说明参见《APUE》 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函数创建的计时器
    • 不继承异步输入和输出
    • 父进程设置的锁(因为如果是排他锁,被继承的话就矛盾了)
  • 相关阅读:
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅶ(延伸:堆排序的实现)
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅵ
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅴ
    Uva227.Puzzle
    UVa1587.Digit Counting
    《Two Days DIV + CSS》读书笔记——CSS选择器
    《Two Days DIV + CSS》读书笔记——CSS控制页面方式
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅳ
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅲ
    校赛总结
  • 原文地址:https://www.cnblogs.com/Tavi/p/12514051.html
Copyright © 2011-2022 走看看