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

问题描述 投票:2回答:1

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

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

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

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

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

linux-kernel fork linux-device-driver
1个回答
1
投票

forkdup上没有重复打开的文件描述状态。所有这样的状态将在父母和孩子之间共享。

© www.soinside.com 2019 - 2024. All rights reserved.