sync(8)

sync8

Force completion of pending disk writes (flush cache)

Usage

sync

Overview

The sync utility can be called to ensure that all disk writes have been completed before the processor is halted in a way not suitably done by reboot(8) or halt(8). Generally, it is preferable to use reboot(8) or halt(8) to shut down the system, as they may perform additional actions such as resynchronizing the hardware clock and flushing internal caches before performing a final sync.

The sync utility utilizes the sync(2) function call.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 51 times.

  1. 2.0.5
  2. 2.1.5–2.1.7.1
  3. 2.2.2
  4. 2.2.5–2.2.6
  5. 2.2.7–2.2.8
  6. 2.2.9
  7. 3.0–3.2
  8. 3.3–3.5.1
  9. 4.0
  10. 4.1–4.2
  11. 4.3
  12. 4.4–4.6.2
  13. 4.7–4.11
  14. 5.0–5.2.1
  15. 5.3–5.5
  16. 6.0–6.3
  17. 6.4
  18. 7.0
  19. 7.1
  20. 7.2
  21. 7.3
  22. 7.4
  23. 8.0
  24. 8.1
  25. 8.2
  26. 8.3
  27. 8.4
  28. 9.0
  29. 9.1
  30. 9.2
  31. 9.3
  32. 10.0
  33. 10.1
  34. 10.2
  35. 10.3
  36. 10.4
  37. 11.0
  38. 11.1
  39. 11.2
  40. 11.3
  41. 11.4
  42. 12.0
  43. 12.1
  44. 12.2
  45. 12.3
  46. 12.4
  47. 13.0–13.2
  48. 13.3
  49. 13.4–13.5
  50. 14.0
  51. 14.1–14.5
  52. 15.0–16.0

History

A sync utility appeared in Version 4 AT&T UNIX.

On systems older than 4.0BSD, commands like reboot(8) and halt(8) were unavailable. The shutdown procedure involved running sync, waiting for the lights to stop, and turning off the machine.

Issuing three separate sync commands (one line each) was a placebo that would generally suffice in Version 7 AT&T UNIX machines that were otherwise quiesced systems. It replaced the one-per-line sync as a substitute for waiting.

4.0BSD introduced reboot(2) and sync(2) which rendered this trick obsolete.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.