ulimit 是由 shell、用户还是组合继承的?

war*_*ren 7 unix shell ulimit hp-server-automation

当一个进程产生一个子shell时,它是如何ulimit继承的?

是按用户、按外壳还是按组合?

具体来说,这是在某些托管 AIX 设备上的 HP 服务器自动化作业由于软硬件之间的交互而失败的情况下发现的ulimits。简而言之,代理(root在处理来自 SA 的命令时作为子外壳运行并生成子外壳)无法处理某些作业,因为其子外壳正在访问ulimit.

增加ulimit解决了问题,但如何ulimit继承以及是否需要提高软限制或硬限制(或两者)的问题仍然悬而未决。

这个问题的正确答案是什么?它可能是特定于 AIX 的,也可能是跨 Unix/Linux 变体的——以哪个更好。

Mon*_*der 6

实现的细节因 *nix 平台而异,但 ulimit 最初是为每个用户设置的,所有用户的默认设置都涵盖了那些缺乏特定设置的用户。

在 AIX 的特定情况下,这些设置位于/etc/security/limits 中。Linux 使用稍微不同的名称 /etc/security/limits.conf 来完成相同的工作。为安全起见,请 man ulimit为您的特定操作系统找到答案。