现在很清楚了.
ulimit命令是在shell中构建的.您可以使用ulimit -n命令为当前shell(以及从此shell启动的每个程序)设置maxfiles.
10252个文件 - 这是我的错误..当我从shell启动我的测试程序时,它是253个最大打开文件(253 + stdin + stdout + stderr = 256).
9469文件 - 我的测试程序在Xcode下运行的结果,似乎Xcode在运行程序之前设置了max maxfiles.
ulimit不是系统范围的设置,这就是为什么要设置maxfiles的系统范围值,你必须使用launchctl(系统中的第一个进程,尝试'launchctl limit')或sysctl.
答案是256个文件.