Scroll to navigation

SYNC(2) Manuale del programmatore di Linux SYNC(2)

NOME

sync, syncfs - svuota la cache del filesystem sul disco

SINTASSI

#include <unistd.h>

void sync(void);

int syncfs(int fd);


Macro per test di funzionalità per glibc (vedere feature_test_macros(7)):

sync():

_XOPEN_SOURCE >= 500
|| /* Sin da glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versioni <= 2.19: */ _BSD_SOURCE

syncfs():

_GNU_SOURCE

DESCRIZIONE

sync() provoca la scrittura nei filesystem sottostanti di tutte le modifiche in sospeso ai metadati del file system e ai dati dei file memorizzati nella cache.

syncfs() è come sync(), ma sincronizza solo il filesystem contenente il file a cui si riferisce il descrittore di file aperto fd.

VALORE RESTITUITO

syncfs() ritorna 0 in caso di successo; in caso di errore, ritorna -1 e imposta errno in modo che indichi l'errore.

ERRORI

sync() termina sempre con successo.

syncfs() può fallire per almeno il motivo seguente:

fd non è un descrittore di file valido.

VERSIONI

syncfs() è apparso per la prima volta in Linux 2.6.39; il supporto alla libreria è stato aggiunto a glibc nella versione version 2.14.

CONFORME A

sync(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

syncfs() è specifico di Linux.

NOTE

A partire da glibc 2.2.2 il prototipo Linux per sync() è come elencato sopra, seguendo i vari standard. In libc4, libc5, e glibc 2.2.1 e precedenti era "int sync(void)", e sync() restituiva sempre 0.

Secondo le specifiche degli standard (per esempio, POSIX.1-2001), sync() pianifica le scritture, ma potrebbe ritornare prima che la scrittura sia stata realmente effettuata. Comunque Linux attende il completamento degli I/O, e quindi sync() o syncfs() offrono la stessa garanzia di fsync chiamato su ogni file rispettivamentedel sistema o del file system.

BUG

Prima della versione 1.3.20 Linux non aspettava il completamento degli I/O, prima di ritornare.

VEDERE ANCHE

sync(1), fdatasync(2), fsync(2)

COLOPHON

Questa pagina fa parte del rilascio 4.16 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trovano su https://www.kernel.org/doc/man-pages/.

TRADUZIONE

La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.

15 settembre 2017 Linux