reboot
Restart the system
TLDR
Reboot the system
Power off the system (same as poweroff)
Halt (terminates all processes and shuts down the CPU) the system (same as halt)
Reboot immediately without contacting the system manager
Write the wtmp shutdown entry without rebooting the system
SYNOPSIS
reboot [OPTION...]
PARAMETERS
--force, -f
Forces an immediate reboot without gracefully shutting down processes or syncing disk data. This option should be used with extreme caution as it can lead to data loss or file system corruption.
--help
Displays a help message and exits.
--version
Displays version information and exits.
DESCRIPTION
The reboot command is used to restart the Linux system. It's a critical administrative utility that safely shuts down the operating system and then reboots it. When executed, reboot initiates a graceful shutdown process: it sends termination signals to all running processes, unmounts all mounted file systems, and syncs data to disk to prevent data corruption. Only after these operations are completed does it instruct the hardware to perform a restart.
Historically, reboot was part of traditional init systems like SysVinit. In modern Linux distributions, especially those using systemd, reboot is typically a symbolic link to the systemctl command (i.e., equivalent to systemctl reboot). This ensures consistency and leverages systemd's robust service management capabilities for a controlled shutdown and restart.
The primary uses for reboot include applying kernel updates, system patches, resolving system instability, or general maintenance. Due to its system-wide impact and the need to preserve data integrity, reboot typically requires root privileges to execute.
CAVEATS
Root Privileges:
The reboot command requires superuser (root) privileges to execute. Users without root access will typically receive a 'permission denied' error.
Data Integrity:
Unless --force is used, reboot attempts to shut down all processes and sync disk caches to prevent data loss. Always allow the system to complete this process naturally.
Modern Implementations:
On systemd-based systems, reboot often acts as a front-end to systemctl reboot. While convenient, for advanced control or specific systemd features, directly using systemctl might be more explicit.
Active Sessions:
Be aware that a reboot will terminate all active user sessions and unsaved work. Notify users before performing a system-wide reboot.
HISTORY
The reboot command has been a fundamental part of Unix-like operating systems since their early days, originally serving as a direct interface to the kernel's restart functionality. In traditional Unix and Linux systems (e.g., using SysVinit), reboot was often a standalone utility or part of a suite like sysvinit-tools.
With the advent of modern init systems like systemd, the role of reboot has largely shifted. On most contemporary Linux distributions, reboot is now implemented as a symbolic link to systemctl. This change reflects the move towards a unified control interface for system states and services, centralizing system shutdown and restart operations under systemd's comprehensive management framework. While the command name remains consistent, its underlying implementation has evolved significantly to adapt to modern Linux architecture.