在开始用 C 编写的程序之前,我必须运行命令“ulimit -n 400”来增加允许打开的文件数,但是有没有办法从 C 程序中执行等效操作?
也就是说,增加该进程允许的打开文件描述符的数量。 (我对每个线程的限制不感兴趣。)
它是否涉及设置 ulimits,然后 fork 一个将允许拥有更多打开文件的 child ?
当然,我可以编写一个运行 ulimit 的 shell 包装器,然后启动我的 C 程序,但感觉不太优雅。我也可以通过 bash 或 sh 的源代码来查看它是如何完成的 - 如果我在这里没有得到答案,也许我会这样做。
同样相关,如果你想选择很多文件描述符, look here 。
最佳答案
我认为您正在寻找 setrlimit(2)
。
关于c - 如何在 C 中实现 "ulimit -n 400"的等价物?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4076848/