开发者

ulimit first call ok second call fail, why?

On macosx 10.7, using bash

The first call to ulimit -n succeeds, while the second fails.

a:$ ulimit -n 
2560
a:$ ulimit -n 5000
a:$ ulimit -n 
5000
a:$ ulimit -n 6000
bash: ulimit: open files: canno开发者_如何学Pythont modify limit: Operation not permitted

however if I try in a new shell (or another shell) to ulimit -n 6000, it succeeds:

a:$ ulimit -n 
2560
a:$ ulimit -n 6000
a:$ ulimit -n 
6000

Why is that?


From the bash man page:

A hard limit cannot be increased once it is set; a soft limit may be increased up to the value of the hard limit. If neither -H nor -S is specified, both the soft and hard limits are set.

Most modern *NIX's don't actually use ulimit anymore. I'd guess that OS X has no ulimit hard max set, so your first call sets the soft and hard max, and so your second call fails every time. The first call without a [limit] parameter is probably printing the soft max.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜