在开始用C编写的程序之前,我必须运行命令“ulimit -n 400”来提高允许打开文件的数量,但有没有办法在C程序中执行相同的操作?
也就是说,增加该进程允许的打开文件描述符的数量. (我对每个线程限制不感兴趣.)
它是否涉及设置ulimits,然后分叉一个允许有更多打开文件的孩子?
当然,我可以编写一个运行ulimit的shell包装器,然后启动我的C程序,但感觉不那么优雅.我也可以通过bash或sh的源代码来查看它是如何在那里完成的 – 也许我会在这里得到答案.
还有关系,如果你想选择很多文件描述符,look here.
解决方法:
我认为你在寻找setrlimit(2)
.