FSYNC(2)

名称
fsync - ファイルに変更を同期する

ライブラリ
libc

書式
<unistd.h> int fsync(int fd)

解説
fsync() によって、 fd の修正されたすべてのデータと属性が永続的なストレージデバイスに移動されます。 これによって、対応するファイルに関するバッファのすべての メモリ上のコピーで、修正された物がディスクに書き込まれる結果になるのが 普通です。

fsync() は、ファイルが既知の状態にあることを要求するプログラムによって 使用される必要があります。たとえば、簡単なトランザクション機能の構築です。

戻り値

エラー
fsync() は次の場合に失敗します。

[EBADF]
    fd が有効な記述子ではありません。

[EINVAL]
    fd がファイルではなくソケットを参照しています。

[EIO]
    ファイルシステムに読み書きしている間に入出力エラーが発生しました。

関連項目
sync(2), syncer(4), sync(8)

歴史
fsync() 関数は 4.2BSD で登場しました。