子进程不继承父进程的哪些?
-
不继承由timer_create函数创建的计时器
-
不继承异步输入和输出
- 阻塞信号集初始化为空集
- 子进程不继承父进程的记录锁.
继承了哪些?
- 子进程从父进程继承了用户号
- 用户组号,
- 用户信息,
- 目录信息,
- 环境(表),
- 打开的文件描述符,
- 堆栈,
- (共享)内存
- 进程组号.
- 会话ID.
- 控制终端.
- . 当前工作目录.
- . 根目录.
- . 文件创建掩码UMASK.
经过fork()以后,父进程和子进程拥有相同内容的代码段、数据段和用户堆栈,就像父进程把自己克隆了一遍。
事实上,父进程只复制了自己的PCB块。
而代码段,数据段和用户堆栈内存空间并没有复制一份,而是与子进程共享。
只有当子进程在运行中出现写操作时,才会产生中断,并为子进程分配内存空间。