我需要一些帮助,以确保我确定这是Linux中的一个基本概念:打开文件的限制。具体来说,我对为什么打开的套接字可以计入系统中“打开文件”总数的情况感到困惑。
有人可以详细说明原因吗?我知道,这很可能可以追溯到Linux中的全部“一切都是文件”原则,但是任何其他细节都将不胜感激。
“打开文件”的限制实际上并不仅仅针对文件。这是对单个进程一次可以使用的内核句柄数量的限制。从历史上看,程序通常只会打开很多文件,因此这被称为对打开文件数量的限制。有一个限制可以防止进程说,打开很多文件而无意间忘记关闭它们,这最终会导致系统范围的问题。
套接字连接也是内核句柄。因此,出于相同的原因,存在相同的限制-进程可能会打开网络连接而忘记关闭它们。
如注释中所述,在类似Unix的系统中,内核句柄通常称为文件描述符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句