![对当前 shell 使用 ulimit](https://linux22.com/image/1315292/%E5%AF%B9%E5%BD%93%E5%89%8D%20shell%20%E4%BD%BF%E7%94%A8%20ulimit.png)
我想增加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 身份,您可能也无法增加打开文件的硬限制。进程头只有这么大。