在Linux中的ulimit和rlimit,它们是同一回事吗?


Answers:


12

我认为混淆来自这样一个事实,即ulimit包装的基础系统调用称为 setrlimit

摘录自 ulimit手册页

ulimit()函数应控制过程限制。可以通过此函数控制的进程限制包括可以写入的单个文件的最大大小(这等效于将setrlimit()与RLIMIT_FSIZE一起使用)。

另外,如果您查看setrlimit手册页,则包含限制信息的基础数据结构将被称为rlimit

摘自setrlimit手册页

getrlimit和setrlimit分别获取和设置资源限制。每个资源都有一个关联的软限制和硬限制,如rlimit结构(getrlimit()和setrlimit()的rlim参数)所定义:

struct rlimit {
    rlim_t rlim_cur;   /* Soft limit */
    rlim_t rlim_max;   /* Hard limit (ceiling 
                          for rlim_cur) */
};

参考文献


2

参考ulimit手册页,这是一个bash shell命令,用于控制系统的rlimits,并且是bash- buildins的一部分,例如printf,read,source等。

引用getrlimits页面,它通过C / C ++表示API,使用系统调用来控制系统rlimits。其他glibc文档在更好地解释了rlimits(=资源限制)。


0

ulimit 可以是两件事:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.