ulimit -nがハード制限を修正するのはなぜですか?

ulimit -nがハード制限を修正するのはなぜですか?

現在のシェルで開いているファイル(ソフト)の制限を確認してください。

/home/pkaramol
$  ulimit -n
1024

ハード制限を確認

/home/pkaramol
$ ulimit -n -H
1048576

(ソフト)制限をハード制限値に設定して機能していることを確認してください。

/home/pkaramol
$ ulimit -n hard
/home/pkaramol
$ ulimit -n
1048576

問題は、次のコマンドが修正される理由です。両方 硬いそして柔らかい制限、スイッチが提供されていない場合、デフォルトはソフト制限で動作することです。

/home/pkaramol
$ ulimit -n 2048
/home/pkaramol
$ ulimit -n 
2048
/home/pkaramol
$ ulimit -n -H
2048

ハード制限はいつ下がりましたか2048

ベストアンサー1

シェルulimitに組み込まれている場合は、指定または指定しないでください。bash-H-S環境制限は、ハードリソース制限とソフトリソース制限を設定します。

これはマニュアルで説明されていますbash

ulimit [-HSabcdefiklmnpqrstuvxPT [limit]]

これらの制御を可能にするシステムは、シェルに使用可能なリソースと、シェルが開始するプロセスの制御を提供します。-Hおよびオプションは、特定のリソースの-Sハードまたはソフト制限設定を指定します。ハード制限が設定されていると、root以外のユーザーはそれを増やすことはできません。ソフト制限はハード制限値まで増やすことができます。 -Hあるいは、両方を指定しないと、-Sソフト制限とハード制限の両方が設定されます。

シェルにはksh93マニュアルにも同様のフレーズがあります。

Hまたは、オプションを指定しない場合、S両方に制限が適用されます。

...制限を設定するとシェルzshdash同じように動作します。

おすすめ記事