在macosx 10.7上,使用bash
第一次调用ulimit -n成功,而第二次调用失败。
a:$ ulimit -n
2560
a:$ ulimit -n 5000
a:$ ulimit -n
5000
a:$ ulimit -n 6000
bash: ulimit: open files: cannot modify limit: Operation not permitted
但是如果我尝试使用新的shell(或其他shell)ulimit -n 6000,它会成功:
a:$ ulimit -n
2560
a:$ ulimit -n 6000
a:$ ulimit -n
6000
为什么?
答案 0 :(得分:4)
来自bash手册页:
一旦设定硬限制就不能增加;软限制可能是 增加到硬限制的价值。如果既不是-H也不是-S 如果指定,则设置软限制和硬限制。
大多数现代* NIX实际上不再使用ulimit
了。我猜OS X没有ulimit hard max set,所以你的第一个调用设置了soft和hard max,所以你的第二次调用每次都会失败。没有[limit]参数的第一个调用可能是打印soft max。