ファイルディスクリプタ
プログラムがアクセスするファイルや標準入出力などをOSが識別するために使われる識別子
最初に0はSTDIN, 1がSTDOUT, 2がSTDERRに割り当てられる
3以降はファイルをオープンするたびに割り当てられる
多くの場合プロセスごとに割り当てられる初期値が1024になっている
最大は65535(16bitの整数値の上限)
枯渇するとToo many open filesというエラーが発生する
利用可能なファイルディスクリプタを取得する
code:sh
ulimit -n
Linuxでは/etc/security/limits.confをいじることで上限を変えられる
全ユーザーのソフトリミットとハードリミットを上限最大値にする場合
code:sh
* soft nofile 65535
* hard nofile 65535
反映には再ログインが必要