Linux ファイル記述子の「値」は常に開いているファイルの制限よりも小さいですか?
理論的には、システムは閉じられたファイル記述子の ID 値を再利用します。そして、1つのプロセスで1021個のファイルを開いた後、デフォルトで0、1、2から1023までの範囲のファイル記述子の値を取得する必要があります。別のファイルを開きたい場合は、いくつかのファイル記述子を で解放する必要がありますclose
。システムは、再度呼び出すときに、これらの解放された ID を再利用open
します。したがって、この場合、ファイル記述子の最大整数値は 1023 になります。あれは正しいですか ?
ulimit -n
、setrlimit
、およびを使用して、開いているファイルの制限を変更できることを知っています/proc/sys/fs/file-max
。char
で開いているファイルの制限を128に減らした場合、開いているソケットファイル記述子を変数で保存できるかどうかを知りたいだけですsetrlimit
。