gpt4 book ai didi

linux - 不同命名空间中的套接字对应的文件描述符是否分配了相同的数值?

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:00 25 4
gpt4 key购买 nike

我需要打开多个 TCP 套接字,对应于在 linux 中编程的每个命名空间。
我想知道分配给这些套接字的 fd 可能是相同的还是它们在系统范围内始终是唯一的?

最佳答案

给定进程只能是一个命名空间的成员。文件描述符仅在一个进程的上下文中相关。

如果一个进程创建多个套接字,则这些文件描述符只有该进程知道,对外部进程没有用处(除了像 /proc/PID/fd 这样的诊断工具)。

如果您在两个不同的命名空间中创建了套接字,那么根据定义,它们是在两个不同的进程中创建的,因此文件描述符不需要(而且很可能不会)是唯一的。

如果您想要全局独一无二的东西,您可能会对套接字“inode”感兴趣。您可以在此处阅读有关如何列出这些内容的信息:How do I find the inode of a TCP socket? .我怀疑但尚未证实,无论 namespace 如何,这些 inode 编号在机器上都是唯一的。

关于linux - 不同命名空间中的套接字对应的文件描述符是否分配了相同的数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36906212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com