sync − svuota i buffer della cache del disco
#include <unistd.h>
void sync(void);
Test delle funzioni e requisiti delle macro per glibc (vedere feature_test_macros(7)):
sync(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
sync() prima riversa gli inode nei buffer, poi i buffer sul disco.
Questa funzione termina sempre con successo.
SVr4, 4.3BSD, POSIX.1-2001.
A partire da glibc 2.2.2 il prototipo Linux è come elencato sopra, seguendo i vari standard. In libc4, libc5, e glibc fino a 2.2.1 era "int sync(void)", e sync() restituiva sempre 0.
Secondo le specifiche degli standard (per esempio, POSIX.1-2001), sync() programma le scritture, ma potrebbe tornare prima che la scrittura sia eseguita. Tuttavia, a partire dalla versione 1.3.20 di Linux, essa aspetta. (Questo ancora non garantisce l’integrità dei dati: i dischi moderni hanno grandi cache).