`getrlimit()`和`setr​​limit()`通过读取和写入`/ etc / security / limits.conf`来工作吗?

时间:2018-05-30 14:04:44

标签: c linux limit

在Linux(例如Ubuntu 18.04或其他版本)中,通过阅读和写入getrlimit()setrlimit()/etc/security/limits.conf工作吗?

我想了解getrlimit()setrlimit()/etc/security/limits.conf之间的关系。感谢。

1 个答案:

答案 0 :(得分:3)

事实上,情况恰恰相反:/etc/security/limits.conf控制对getrlimitsetrlimit的调用。

getrlimitsetrlimit读取和写入与调用进程关联的内核状态。他们根本不访问任何文件。与大多数与特定进程关联的内核状态一样,资源限制是继承(复制到)fork - ed children。

永远不会自动修改

/etc/security/limits.conf(除非系统升级);它旨在供系统管理员手动编辑。

login程序(从技术上讲,它可能加载的pam_limits模块,并在Ubuntu 18的默认配置中加载)读取/etc/security/limits.conf,并使用该文件中的信息进行对setrlimit的一系列调用,为用户的初始shell建立资源限制。那些资源限制然后继承到shell启动的所有进程,依此类推。