对当前 shell 使用 ulimit

对当前 shell 使用 ulimit

我想增加ulimit -Hn当前 bash shell 使用的 maxfiles 的硬限制。问题是,如果不使用 ,我就无法做到这一点sudo。但是,当我这样做时sudo ulimit -Hn unlimited,它不会影响当前 shell 的限制,而是会更改为 调用的子 shell 的限制sudo

有没有办法在当前 shell 中实现它,我们正在发出命令ulimit?我正在使用 Mac OS x 10.6.x。

提前致谢。

答案1

您可以使用:

sudo bash -c "ulimit -Hn unlimited; su $USER"

这将更改生成的 shell 的 ulimit,然后将用户更改为您的用户。这不会提高当前 shell 的 ulimit,而是创建另一个具有更高权限的 shell 并将其附加到您的终端。

但是,即使以 root 身份,您可能也无法增加打开文件的硬限制。进程头只有这么大。

相关内容