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 で登場しました。