man-pages/man8/sync.8

89 lines
2.4 KiB
Groff

.\" Reboot/halt and Linux information extracted from Rick Faith's original
.\" sync(8) manpage, dating back to the Linux 0.99 days. The Linux-specific
.\" information is attributed to Linus Torvalds
.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
.\"
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" May be distributed under the GNU General Public License
.\" %%%LICENSE_END
.\"
.TH SYNC 8 1998-11-01 "GNU" "Linux Programmer's Manual"
.SH NAME
sync \- synchronize data on disk with memory
.SH SYNOPSIS
.B "sync [\-\-help] [\-\-version]"
.SH DESCRIPTION
.B sync
writes any data buffered in memory out to disk.
This can include (but is not limited to) modified superblocks,
modified inodes, and delayed reads and writes.
This must be implemented by the kernel;
The
.B sync
program does nothing but exercise the
.BR sync (2)
system call.
.PP
The kernel keeps data in memory to avoid doing (relatively slow) disk
reads and writes.
This improves performance, but if the computer
crashes, data may be lost or the file system corrupted as a result.
.B sync
ensures that everything in memory is written to disk.
.PP
.B sync
should be called before the processor is halted in an unusual manner
(e.g., before causing a kernel panic when debugging new kernel code).
In general, the processor should be halted using the
.BR shutdown (8)
or
.BR reboot (8)
or
.BR halt (8)
commands, which will attempt to put the system in a quiescent state
before calling
.BR sync (2).
(Various implementations of these commands exist; consult your
documentation; on some systems one should not call
.BR reboot (8)
and
.BR halt (8)
directly.)
.SH OPTIONS
.TP
.B "\-\-help"
Print a usage message on standard output and exit successfully.
.TP
.B "\-\-version"
Print version information on standard output, then exit successfully.
.TP
.B "\-\-"
Terminate option list.
.SH ENVIRONMENT
The variables \fBLANG\fP, \fBLC_ALL\fP, \fBLC_CTYPE\fP,
and \fBLC_MESSAGES\fP have the usual meaning.
.SH CONFORMING TO
POSIX.2.
.SH NOTES
On Linux,
.B sync
is only guaranteed to schedule the dirty blocks for writing; it can
actually take a short time before all the blocks are finally written.
The
.BR reboot (8)
and
.BR halt (8)
commands take this into account by sleeping for a few seconds after
calling
.BR sync (2).
.PP
This page describes
.B sync
as found in the file\%utils-4.0 package;
other versions may differ slightly.
.SH SEE ALSO
.BR sync (2),
.BR halt (8),
.BR reboot (8),
.BR update (8)