Arch manual pages

SYNC(2) Linux-Programmierhandbuch SYNC(2)

sync, syncfs - Zwischenspeicher der Dateisysteme auf die Festplatte schreiben

#include <unistd.h>

void sync(void);

int syncfs(int fd);


Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

sync():

_XOPEN_SOURCE >= 500 || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE

syncfs():

_GNU_SOURCE

sync() bewirkt, dass alle anhängenden Änderungen an Dateisystemmetadaten und zwischengespeicherten Inhalten von Dateien auf die unterliegenden Dateisysteme geschrieben werden.

syncfs() verhält sich wie sync(), synchronisiert aber nur das Dateisystem, das die Datei enthält, auf die der offene Dateideskriptor fd verweist.

syncfs() gibt bei Erfolg 0 zurück. Bei Fehlern gibt es -1 zurück und setzt errno, um den Fehler anzuzeigen.

sync() ist immer erfolgreich.

syncfs() kann mindestens wegen der folgenden Gründe fehlschlagen:

EBADF
fd ist kein zulässiger Dateideskriptor.

syncfs() erschien erstmalig in Linux 2.6.39; die Bibliotheksunterstützung wurde zu Glibc in Version 2.14 hinzugefügt.

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

syncfs() ist Linux-spezifisch.

Seit Glibc 2.2.2 hat der Linux-Prototyp für sync() die oben beschriebene Form, die den diversen Standards folgt. In Glibc bis 2.2.1 war der Prototyp »int sync(void)« und sync() gab immer 0 zurück.

Nach den Vorgaben der Standards (z.B. POSIX.1-2001) kann sync() den Schreibvorgang initiieren, aber vor dem eigentlichen Schreibvorgang zurückkehren. Allerdings wartet Linux auf den Abschluss der E/A und daher stellen sync() und syncfs() die gleichen Garantien wie der Aufruf von Fsync nach jeder Datei im System oder entsprechend Dateisystem bereit.

Vor Version 1.3.20 wartete Linux vor der Rückkehr nicht auf den Abschluss der E/A.

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

Diese Seite ist Teil der Veröffentlichung 5.02 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

Die deutsche Übersetzung dieser Handbuchseite wurde von Wolfgang Jung <woju@keep.in-berlin.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Mario Blättermann <mario.blaettermann@gmail.com> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.

15. September 2017 Linux