zoukankan      html  css  js  c++  java
  • Linux fork哪些被继承,哪些不被继承

    fork系统调用产生一个新的进程, 叫子进程, 是调用进程的一个复
    制品. 调用进程叫父进程, 子进程继承了父进程的几乎所有的属
    性:

    . 实际UID,GID和有效UID,GID.
    . 环境变量.
    . 附加GID.
    . 调用exec()时的关闭标志.
    . UID设置模式比特位.
    . GID设置模式比特位.
    . 进程组号.
    . 会话ID.
    . 控制终端.
    . 当前工作目录.
    . 根目录.
    . 文件创建掩码UMASK.
    . 文件长度限制ULIMIT.
    . 预定值, 如优先级和任何其他的进程预定参数, 根据种类不同
    决定是否可以继承.
    . 还有一些其它属性.
     
    但子进程也有与父进程不同的属性:
    . 进程号, 子进程号不同与任何一个活动的进程组号.
    . 父进程号.
    . 子进程继承父进程的文件描述符或流时, 具有自己的一个拷贝
    并且与父进程和其它子进程共享该资源.
    . 子进程的用户时间和系统时间被初始化为0.
    . 子进程的超时时钟设置为0.
    . 子进程不继承父进程的记录锁.
    . pending signals 也不会被继承。
     
     
    linux下fork的实现是copy-on-write,也就是子进程与父进程初始时只有页表和task structure不同。
  • 相关阅读:
    并发编程
    进程的介绍
    操作系统详解
    进程的粗略理解
    打印进度条
    FTP上传下载文件(面向对象版)
    socket套接字
    FTP上传下载文件(函数简易版)
    osi七层协议 Open System Interconnection
    __str__和__repr__的区别
  • 原文地址:https://www.cnblogs.com/super119/p/2259286.html
Copyright © 2011-2022 走看看