ben*_*min 3 file-descriptors ipc shared-memory
如果文件描述符特定于每个进程(即两个进程可能使用相同的文件描述符 id 来引用不同的打开文件),那么如何通过套接字等共享传输文件描述符(例如共享 mmap)?
它是否依赖于内核被映射到每个进程下的相同数字地址范围?
当您通过套接字共享文件描述符时,内核会进行调解。你需要使用准备数据的cmsg(3)
宏,利用它发送sendmsg(2)
和接收使用它recvmsg(2)
。内核参与后两个操作,它处理从文件描述符到传输文件描述符所需的任何数据的转换,并使文件描述符在接收过程中可用。
不同进程中的相同fd如何指向同一个文件?提供有用的背景。发送进程发送一个文件描述符,这意味着与它的(私有)文件描述符表有关;内核知道它映射到系统范围的打开文件表中的内容,并根据需要在接收进程的文件描述符表中创建一个新条目。
归档时间: |
|
查看次数: |
5945 次 |
最近记录: |