zoukankan      html  css  js  c++  java
  • fork函数

    一. 参考网址

      1. 《unix环境高级编程》

    二. 知识点

      1. 由f o r k创建的新进程被称为子进程( child process)。该函数被调用一次,但返回两次。两次返

        回的区别是子进程的返回值是 0,而父进程的返回值则是新子进程的进程 I D。将子进程I D返回
      给父进程的理由是:因为一个进程的子进程可以多于一个,所以没有一个函数使一个进程可以
      获得其所有子进程的进程 I D。f o r k使子进程得到返回值 0的理由是:一个进程只会有一个父进
      程,所以子进程总是可以调用g e t p p i d以获得其父进程的进程I D (进程ID 0总是由交换进程使用,
      所以一个子进程的进程I D不可能为0 )。
        子进程和父进程继续执行 f o r k之后的指令。子进程是父进程的复制品。例如,子进程获得
      父进程数据空间、堆和栈的复制品。注意,这是子进程所拥有的拷贝。父、子进程并不共享这
      些存储空间部分。如果正文段是只读的,则父、子进程共享正文段 (见7 . 6节)。
        现在很多的实现并不做一个父进程数据段和堆的完全拷贝,因为在 f o r k之后经常跟随着
      e x e c。作为替代,使用了在写时复制( C o p y - O n - Write, COW)的技术。这些区域由父、子进程共
      享,而且内核将它们的存取许可权改变为只读的。如果有进程试图修改这些区域,则内核为有
      关部分,典型的是虚存系统中的“页”,做一个拷贝。
  • 相关阅读:
    重写(Overriding)与重载(Overloading)的区别
    A Guide to setup SQL Server Reporting Services (SSRS) with Dynamics AX
    date2Str Function in Dynamics AX 2009
    浅谈程序员加薪问题(转)
    消息队列设计精要
    Redis集群模式原理探究
    SpringBoot内置tomcat原理分析
    Mybatis整体设计探究
    MapStruct 使用详解
    Zookeeper快速领导者选举原理
  • 原文地址:https://www.cnblogs.com/shanyu20/p/14922303.html
Copyright © 2011-2022 走看看