unix - 由于 setrlimit 基于进程,操作系统如何遵守/etc/security/limits.conf 中配置的用户限制?

标签 unix resources limit setrlimit

我注意到在/etc/security/limits.conf 中,限制是基于每个用户(或每个组)配置的,例如:
@faculty hard nproc 50

我假设是 setrlimit 完成设置限制的工作,但是 setrlimit 是在进程基础上工作的,也就是说,它只对其调用进程设置资源限制,因此既然它不能对用户设置限制,那么操作系统如何兑现在limits.conf中配置的资源限制?

另一个问题,
如果某个进程超过了它的资源配额,它会被杀死吗?如果有,通过什么信号?谢谢你。

最佳答案

正如已经回答的那样,操作系统尊重每个进程的用户限制,而不是每个用户。

如果您希望限制适用于属于某个用户的所有进程,您可以使用控制 cgroups:

http://en.wikipedia.org/wiki/Cgroups

关于unix - 由于 setrlimit 基于进程,操作系统如何遵守/etc/security/limits.conf 中配置的用户限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765793/

相关文章:

PHP MySQL - 按时差限制查询结果

mysql limit offset 结果乱序

linux - 当一个进程被杀死(*nix)时,系统调用的调用会发生什么?

regex - 在 bash 中 Grepping 一个 20g 的文件

python - 搜索 LDAP 时出错

mysql - 比全文搜索对资源使用更友好的搜索?

c# - 每个表单/其他字符串仅使用 1 个资源文件而不是 1 个资源文件

c - 调用 "getpid() == fork()"时应该返回什么

java - 类路径和资源文件

mysql - 对通过 PK 搜索的查询的 LIMIT 有益