linux辅助数据可用于通过unix域套接字在unix中跨多个进程共享文件描述符。该应用程序有两个过程A& B监听网络上的数据,并在接收到新连接时,接收方进程(A或B)接受连接。现在支持进程A接受连接,为了与进程B共享这个新的套接字描述符,进程A向进程B发送辅助数据。这一切都没问题。
答案 0 :(得分:3)
参见section 17.4 in “Advanced Programming in the UNIX Environment” 有关文件描述符传递的一些很好的信息(和一个很好的图片!)。 特别是:
从技术上讲,我们正在传递一个指向打开文件表条目的指针 一个过程到另一个。该指针被赋予第一个可用的指针 接收过程中的描述符。 (说我们正在通过 开放描述符错误地给出了描述符的印象 接收过程中的号码与发送过程中的号码相同, 这通常不是真的。)
因此,当从进程A向进程B传递文件描述符时,描述符编号 可以是不同的。进程B也没有关于描述符的任何信息 过程A中使用的数字。
没有“内置”机制来传递关闭文件的信息 从B回到A的描述符。您需要为此目的发送自定义消息。