是的,我知道这个问题被问了很多次,但不幸的是我没有find完整的答案。
那么,如何限制每个用户同时进程的数量呢?
我发现两个解决scheme:
使用pam_limits。 在这种情况下,我需要configuration/etc/security/limits.conf文件。 不幸的是,这个解决scheme只适用于pam意识到的应用程序,这不是通用的。
使用从$ HOME / profile调用的ulimit。 不幸的是,它在所有情况下都不起作用。 我试图设置“ulimit -u 100”,然后在相同的shell“压力–vm 200 –vm – bytes 100”中启动。 应用程序已成功启动,我得到超过200个用户根下的进程。
我需要build立一个健全的系统,所以只有在某些情况下工作的解决scheme是不合适的。
内核安全补丁grsecurity具有一个称为Enforce RLMIT_NPROC on execs的function。 启用后,它会将每个用户的限制强制为系统范围而不是每个login(或者更糟,正如您所观察到的)。
在同一个shell中,它不会工作。 尝试将ulimit设置放在root的.bashrc中,再次以root身份login并尝试。 你可以用ulimit -avalidation来validation。
您可以在/etc/security/limits.conf设置限制