4

macosx 10.7 で bash を使用

ulimit -n の最初の呼び出しは成功しますが、2 回目の呼び出しは失敗します。

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

ただし、新しいシェル (または別のシェル) で ulimit -n 6000 を試行すると、成功します。

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

何故ですか?

4

1 に答える 1

4

bashのmanページから:

一度設定すると、ハード制限を増やすことはできません。ソフト制限は、ハード制限の値まで増やすことができます。-Hも-Sも指定されていない場合、ソフト制限とハード制限の両方が設定されます。

最新の*NIXは、実際にはulimitもう使用されていません。OS Xにはulimitハードマックスが設定されていないので、最初の呼び出しでソフトとハードの最大値が設定され、2番目の呼び出しは毎回失敗すると思います。[limit]パラメーターのない最初の呼び出しは、おそらくソフトマックスを出力しています。

于 2011-07-11T21:28:31.850 に答える