代码之家  ›  专栏  ›  技术社区  ›  Ajay Brahmakshatriya

如何在fork上复制内核状态?

  •  2
  • Ajay Brahmakshatriya  · 技术社区  · 8 年前

    假设我在Linux中有一个字符设备驱动程序,它在内核中分配一些内存,以针对每个打开的文件描述符存储一些状态。

    某些进程在驱动程序上打开一个fd,并通过 ioctl 进程还为此状态提供了初始化参数。

    现在这个过程分岔了。还将为子进程创建所有文件描述符。

    fd特定状态将如何复制?阿法克 do_fork 只复制内核知道的数据结构。

    子进程必须重新初始化fd,还是最终与父进程共享状态?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Timothy Baldwin    8 年前

    上没有重复的打开文件描述状态 fork dup . 所有这些状态都将在父级和子级之间共享。