C で記述されたプログラムを開始する前に、「ulimit -n 400」コマンドを実行して、許可されているオープン ファイルの数を増やす必要がありますが、C プログラム内から同等のことを行う方法はありますか?
つまり、そのプロセスで許可されるオープン ファイル記述子の数を増やします。(スレッドごとの制限には興味がありません。)
ulimits を設定してから、より多くのファイルを開くことができる子をフォークする必要がありますか?
もちろん、ulimit を実行するシェル ラッパーを作成してから C プログラムを起動することもできますが、洗練されていないように感じます。また、bash または sh のソース コードを grep して、そこでどのように処理されているかを確認することもできます。
関連して、多数のファイル記述子を選択する場合は、こちらを参照してください。