Loading article…
close システム コールは
、カーネルによってファイル記述子を閉じるために使用されるシステム コールです。ほとんどのファイル システムでは、プログラムはclose システム コールを使用してファイル システム内のファイルへのアクセスを終了します。これにより、ファイル バッファーがフラッシュされ、データ内にファイル終了インジケーターが含まれる可能性があるファイルメタデータが更新され、ファイルに関連付けられたリソース (ファイル記述子を含む) の割り当てが解除され、使用中のファイルのシステム全体のテーブルが更新されます。一部のプログラミング言語では、ランタイム ライブラリによって開かれたファイルのデータ構造が維持され、プログラムが終了すると閉じる場合があります。この方法は、リソース取得初期化(RAII) と呼ばれます。一部のオペレーティング システムでは、プログラムが終了した場合に、プログラムによって保持されているファイルに対して が呼び出されます。一部のオペレーティング システムでは、システム障害の結果としてオペレーティング システムの回復の一環として syscall
が呼び出されます。closeclose
CライブラリPOSIX定義
クローズコールはPOSIX仕様 で標準化されている
int close ( int filedes ); int fclose ( FILE * stream );
この関数は、ファイルが正常に閉じられたことを示すためにゼロを返します。エラーが発生した場合は、値 -1 が返され、errno が適切に設定されます。
発生する可能性のあるエラーは次のとおりです。
EBADF- 指定された引数は有効なファイル記述子ではありませんでした
EINTR- 関数呼び出しはシグナルによって中断されました
EIO- I/Oエラーが発生しました
参考文献
- POSIXクローズ
