2011-07-11 12 views
4

on macosx 10.7、bashを使用ulimit最初にコールOKコールが失敗しました。なぜですか?

ulimit -nの最初の呼び出しは成功し、2番目の呼び出しは失敗します。私は6000 -n ulimitのために新しいシェル(または別のシェル)にしようとした場合

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 

は、しかし、それは成功します

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

はなぜですか? bashのmanページから

+1

SO - try about topic - http://apple.stackexchange.com? –

+0

合意、または[unix.stackexchange.com](http://unix.stackexchange.com) –

+0

[このスーパーユーザーの質問]の複製(http://superuser.com/questions/309106/strange-behaviour-with-ulimit -on-mac-os-x-10-6 /)。 –

答えて

4

:それが設定されると、ハードリミットを増加させることができない

。ソフトリミットはハードリミットの値まで増加された である可能性があります。 -Hと-Sのどちらも が指定されていない場合は、ソフトリミットとハードリミットの両方が設定されます。

最近のほとんどの* NIXのは、実際にはもうulimitを使用しないでください。私は、OS Xにはulimit hard maxが設定されていないと思うので、最初の呼び出しでソフトとハードの最大値が設定されるため、毎回の呼び出しは失敗します。 [limit]パラメータを指定しない最初の呼び出しはおそらくsoft maxを出力しています。

+0

、ありがとうございました。 – user379217