我目前正在阅读Michael Kerrisk的“Linux编程接口”。在专门讨论系统限制的章节中写道:
SUSv3要求 sysconf ()为特定值返回的值 限制在调用过程的生命周期内保持不变。
这是否意味着如果我获得当前系统限制并在当前流程中以某种方式使用它们,那么在 fork 之后在子进程中再次获取它们是一种良好的品味规则?
答案 0 :(得分:2)
原则上,是的。如果您想要一个反映特定流程设置实际限额的动态值,最好每个流程调用sysconf()
一次。
但是,某些配置值肯定不会改变。例如,PAGESIZE
不会在对fork()
的调用之间进行更改。再次调用sysconf()
可能没有必要。