---
name: "sync"
section: "2"
platform: "macos"
package: "xnu"
version: "12377.121.6"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/sync/2"
---

# sync(2)

synchronize disk block in-core status with that on disk

## NAME

**sync** – synchronize disk block in-core status with that on disk

## SYNOPSIS

**#include \<unistd.h\>**

*void*\

**sync**(*void*);

## DESCRIPTION

The  **sync**() function forces a write of dirty (modified) buffers in the block buffer cache out to disk. The kernel keeps this information in core to reduce the number of disk I/O transfers required by the system. As information in the cache is lost after a system crash a **sync**() call is issued frequently by the user process [update(8)](/update/8.md) (about every 30 seconds).

The function [fsync(2)](/fsync/2.md) may be used to synchronize individual file descriptor attributes.

## SEE ALSO

[fsync(2)](/fsync/2.md), [sync(8)](/sync/8.md), [update(8)](/update/8.md)

## BUGS

**sync**() may return before the buffers are completely flushed.

## HISTORY

A **sync**() function call appeared in  Version 6 AT&T UNIX.
