Jer*_*fin 11
要求提供FOPEN_MAX实施<stdio.h>.这是可以同时打开实现保证的最小文件数.您可能能够打开更多,但唯一的方法就是测试.
需要注意的是内核的限制,从这个独立的-这告诉你有多少文件,你可以(潜在的)开放open,creat和其他操作系统的调用.C实现的标准库可以(并且经常会)强加自己的限制(例如,通过静态分配数组FILE).理论上,您可以打开的最大数量是内核和库实现所施加的限制的最小值 - 但内核的限制几乎总是(更高).
一般来说,如果你关心这一点,你可能会做错事.
您可以通过执行以下操作查看允许的最大打开文件数(内核限制):
cat /proc/sys/fs/file-max
Run Code Online (Sandbox Code Playgroud)
file-max 中的值表示 Linux 内核将分配的文件句柄的最大数量。当您收到大量有关文件句柄耗尽的错误消息时,您可能需要增加此限制。