首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于共享和关闭文件描述符的linux辅助数据

用于共享和关闭文件描述符的linux辅助数据
EN

Stack Overflow用户
提问于 2013-08-04 08:05:18
回答 1查看 601关注 0票数 1

linux辅助数据可用于在unix域套接字上跨多个进程共享文件描述符。应用程序有两个进程A&B在网络上侦听数据,在接收到新连接时,接收进程(A或B)接受连接。现在支持进程A接受连接,为了与进程B共享这个新的套接字描述符,进程A向进程B发送辅助数据。

  1. 此时,两个进程具有相同的套接字描述符集。现在假设process出于某种原因关闭了套接字描述符。那么,进程B如何表示与进程A相同?辅助数据方法可以在某种程度上使用吗?还是有更好的办法?
  2. 当进程A接受一个新的连接时,假设新的套接字描述符为4。当使用进程B的辅助数据共享相同的套接字描述符时,套接字描述符的值是否与4相同?或者,当套接字描述符被共享时,不同的进程之间也会有不同?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-04 08:35:40

有关文件描述符传递的一些良好信息,请参见第17.4节“UNIX环境中的高级编程” (以及一张漂亮的图片!)。特别是:

从技术上讲,我们将一个指向打开的文件表条目的指针从一个进程传递到另一个进程。该指针被指定为接收进程中的第一个可用描述符。(说我们传递的是一个开放描述符,错误地给人一种印象,即接收过程中的描述符号与发送过程中的描述符号相同,这通常不是真的。)

因此,当文件描述符从进程A传递到进程B时,描述符号可能是不同的。此外,进程B没有关于进程A中使用的描述符号的任何信息。

没有“内置”机制将关闭文件描述符的信息从B传递回A,为此需要发送自定义消息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18040988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档