閉じる(システム呼び出し)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ


closeシステムコールは、あるシステムコール閉じるためのファイルディスクリプタをすることによって、カーネル。ほとんどのファイルシステムでは、プログラムはclosesystem呼び出しを使用してファイルシステム内のファイルへのアクセスを終了します。これにより、ファイルバッファがフラッシュされ、ファイルメタデータが更新されます。これには、データにファイルの終わりのインジケータが含まれる場合があります。ファイルに関連付けられているリソース(ファイル記述子を含む)の割り当てを解除し、使用中のファイルのシステム全体のテーブルを更新します。一部のプログラミング言語は、それらによって開かれたファイルのデータ構造維持しますランタイムライブラリであり、プログラムが終了すると閉じる場合があります。この方法は、リソース取得が初期化(RAII)として知られています。一部のオペレーティングシステムはclose、プログラムが終了すると、プログラムが保持しているonファイルを呼び出します。一部のオペレーティングシステムはclose、システム障害の結果として、オペレーティングシステムの回復の一部としてsyscallを呼び出します。

CライブラリPOSIX定義

近くに呼び出しがで標準化されているPOSIX仕様

int  close   int  filedes ); 
int  fclose  FILE  * stream );

この関数はゼロを返し、ファイルが正常に閉じられたことを示します。エラーが発生した場合は、値-1が返され、errnoが適切に設定されます。

発生する可能性のあるエラーは次のとおりです。

EBADF
指定された引数は有効なファイル記述子ではありませんでした
EINTR
関数呼び出しがシグナルによって中断されました
EIO
I / Oエラーが発生しました

参考文献

外部リンク