ulimitは開いたファイルの最大数を変更しますか?

ulimitは開いたファイルの最大数を変更しますか?

プログラムが実行されるオープンファイルの最大数を増やす必要がありますulimit -n new_max_number-bash: ulimit: open files: cannot modify limit: Operation not permitted

実際、最初は制限が4096に設定されていると思いましたが、最初に試したときに使用した数値でした。ところで、後で奇妙なことを発見しました。 SSH 経由でサーバーに接続するとき、ulimit -n number を使用した最初の変更は、制限に関係なく機能します。ただし、ulimit -n number(新しい数値が現在の数値より大きい場合)を使用した後続の変更は適用されません。その理由は何ですか?

答え1

厳格な制限を設定しています。権限のないユーザーは、ハード制限を下げるだけで増やすことはできません。

-Sソフト制限のみを設定するために使用されます。ソフト制限を現在のハード制限値に増やすことができます。

-H-Sオプションを使用しないときにソフト制限またはハード制限を設定する方法は、シェルによって異なります。この場合、ハード制限を設定する方法の1つを使用しているようです。

関連情報