【ふぁいるでぃすくりぷた】
ファイルディスクリプタ とは?
💡 OSが管理するファイルの「整理番号」、開いているリソースを識別する整数
📌 このページのポイント
- 0(標準入力)・1(標準出力)・2(標準エラー出力)は予約された特別なFD
- ファイルをopen()すると新しいFD(整数)が返ってくる
- FDの上限(ulimit -n)を超えると「too many open files」エラーが発生する
- ネットワークソケットもFDとして管理される
ファイルディスクリプタって何?
プログラムがファイルを開くと、OSが「このファイルは3番」のように番号(FD)を割り振る。その後は「3番のFDに書いて」とOSに伝えるだけでファイルにアクセスできる。ファイル名を毎回使わなくていい仕組みだよ。
0・1・2が特別な理由は?
「too many open files」エラーって?
リダイレクトってファイルディスクリプタと関係があるの?
ソケット通信もファイルディスクリプタを使うの?
📖 おまけ:英語の意味
「File Descriptor」 = ファイルの記述子・識別子
💬 「descriptor」は「記述するもの・識別子」の意味。プロセスがアクセスするファイルを「記述(describe)」する整数値