我正在使用以下Boost代码遍历Director中的文件(不打开文件,仅读取文件名):
for (auto i = boost::filesystem::directory_iterator(filePath);
i != boost::filesystem::directory_iterator();
i++)
{
但上面的行抛出异常:
what():boost :: filesystem :: directory_iterator :: construct:太多 打开文件:/ my_path
但是,在使用的650万个文件描述符中,/ proc / sys / fs / file-max和sysctl fs.file-nr
仅显示72,000。
我很困惑,既然应该有足够的可用文件句柄,Boost如何抱怨?
(在Linux上)