在 Linux(例如 Ubuntu 18.04 或其他)中,getrlimit()
和 setrlimit()
通过读取和写入 /etc/security/来工作限制.conf
?
我试图了解 getrlimit()
和 setrlimit()
以及 /etc/security/limits.conf
之间的关系。谢谢。
最佳答案
事实上,情况正好相反:/etc/security/limits.conf
控制对 getrlimit
和 setrlimit
的调用。
getrlimit
和 setrlimit
读取和写入与调用进程关联的内核状态。他们根本不访问任何文件。与大多数与特定进程关联的内核状态一样,资源限制是继承(复制到)fork
-ed children。
/etc/security/limits.conf
永远不会自动修改(除了可能通过系统升级);它供系统管理员手动编辑。
login
程序(从技术上讲,它可能加载的 pam_limits 模块,并在 Ubuntu 18 的默认配置中加载)读取 /etc/security/limits.conf
,并使用该文件中的信息进行一系列调用 setrlimit
,为用户的初始 shell 建立资源限制。然后,这些资源限制会继承到 shell 启动的所有进程,以此类推。
关于c - `getrlimit()` 和 `setrlimit()` 是否通过读取和写入 `/etc/security/limits.conf` 来工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50606753/