SYNC(2)

名称
sync - ファイルシステムの更新をスケジュールする

ライブラリ
libc

書式
<unistd.h> void sync(void)

解説
sync() 関数は、ブロックバッファキャッシュのダーティな (更新された) バッファを ディスクに強制的に書き出します。 カーネルはこの情報をメモリ上に溜めこみ、システムが要求する ディスク I/O 転送の数を減らします。 システムがクラッシュするとキャッシュの情報が失われてしまうため、 ユーザプロセス syncer(4) は sync() を頻繁に呼び出します (約 30 秒ごと)。

それぞれのファイル記述子属性の同期を取るには、関数 fsync(2) を使用します。

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

バグ
sync() は、バッファが完全にフラッシュされる前に戻ることがあります。

歴史
sync() 関数呼び出しは、 AT&T UNIX で登場しました。