Macos ulimit第一次呼叫正常第二次呼叫失败,为什么?
在macosx 10.7上,使用bash 对ulimit-n的第一个调用成功,而第二个调用失败Macos ulimit第一次呼叫正常第二次呼叫失败,为什么?,macos,unix,ulimit,osx-snow-leopard,Macos,Unix,Ulimit,Osx Snow Leopard,在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:
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
为什么会这样?来自bash手册页: 硬限制一旦设置就不能增加;软限制可以是 增加到硬限制的值。如果-H和-S都不是 指定时,软限制和硬限制均已设置 大多数现代*NIX实际上不再使用
ulimit
。我猜OSX没有ulimit-hard-max集,所以您的第一个调用设置了soft-max和hard-max,所以您的第二个调用每次都失败。没有[limit]参数的第一个调用可能是打印soft max.主题外的SO-try?Agreed,或复制。