In Linux Last updated:
Share on:
Cloudways offers managed cloud hosting for any size business to host a website or complex web applications.

As a Sysadmin, one of the frequent activities is to reboot or power off servers.

This could be due to regular maintenance activity like OS patching or due to some hardware failure that requires a system to be powered down for maintenance.

A Linux system offers several different ways to reboot or shut down the server. A normal system should respond to any command while a degraded server may need to be rebooted forcefully. Do note that most of these commands will require a certain level of privilege either as superuser or with sudo to be executed successfully since rebooting a system is an administrative task and for a multi-user system or server running critical processes, reboot or shutdown is a disruptive activity.

This article covers few such methods which can help you out with Linux reboot/shutdown activity.

GUI Method

If you’re using a GUI Desktop Environment for Linux like Gnome, KDE, Mate, XFCE, etc., you’ll find a power button in the system/application menu which offers actions such as logout, reboot, hibernate or power off. Available options may differ slightly depending upon which distribution, desktop environment, and version of OS is in use. But you’ll definitely find power-related settings in available menus to change the power state of your system.

For example, on my Ubuntu Mate desktop, I can find the Shut Down option in the power menu at the top right of my screen.

Ubuntu mate shut down gui

Once you select “Shut Down…” option, you’ll be presented with a dialog with multiple options like Suspend, Restart, Cancel and Shut Down. You can either proceed with Restart or Shut Down by clicking on the right button or cancel and get back to your desktop environment.

Ubuntu mate shut down

Offered GUI and options may differ slightly on the distribution and Desktop Environment you’re using but rest assured there is an option to change the power state of the system. And with GUI, it’s no more than few clicks in the power menu.

systemctl Command

On a Linux box running systemd as the init system, you can use systemctl command to reboot your machine.

$ sudo systemctl start reboot.target

Or you can simply use systemctl with required option, like for reboot as:

$ sudo systemctl reboot

For initiating a shutdown, systemctl command goes like:

$ sudo systemctl shutdown

To halt the system, use:

$ sudo systemctl halt

shutdown Command

shutdown command can be used to power down as well as reboot a Linux system. To reboot a system immediately use:

$ sudo shutdown -r now

Or to power down a system without wait, use -h or -P flag:

$ sudo shutdown -P now 

We can add a delay to shutdown command to reboot/power off the system after a specified interval. This can be achieved as:

$ sudo shutdown -r 10

To halt a system without asking hardware to power off, you can use -H flag:

$ sudo shutdown -H now

If you simply specify shutdown command, the shutdown will get scheduled after a minute. To shut down at specific time use:

$ sudo shutdown 22:30

In many cases, while a system is going down it’ll broadcast a message to the console of logged-in users. If you want to add your custom message in this broadcast, you can specify a message along with shutdown command as:

$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"

To cancel a scheduled shutdown, you can use -c flag:

$ sudo shutdown -c

On some systems, shutdown command call systemctl in the backend to achieve desired reboot/shutdown operation.

Reboot Command

To gracefully reboot a system, you can also use reboot command (may need to use with sudo).

$ sudo reboot

To power off the system with the reboot command, use -p flag:

$ sudo reboot -p

To force a reboot (for systems not responding to normal reboot command), you can try -f flag as:

$ sudo reboot -f

Halt Command

To halt a system, you can simply use halt command:

$ sudo halt

Poweroff Command

To power off a system, you have the option to use poweroff command:

$ sudo poweroff

init Command

For systems not running on systemd, init (telinit will also work) command offers options to change the system’s run-level. To reboot a system using init, you can use:

$ sudo init 6

Similarly to halt a system, the init command to use is:

$ sudo init 0

Calling a specific run-level using init causes the system’s init process to execute a series of init scripts in a particular order to ensure the system reaches the desired run-level. Run-level 6 is defined for reboot while run-level 0 if for halting the system.

Power Button

For Linux running on a desktop or laptop, pressing the power button by default have the action of either putting the system to sleep or powering it down by sending the shutdown signal. This option can be tweaked from the system’s power settings. Although it should ideally be used as the last option if normal commands don’t work.

For a remote server running Linux, the power button usually powers off the system. But those located in remote data centers have the additional option to be rebooted or powered off from their remote lights-out management CLI/GUI tools offered by the respective server vendors.

Alt + SysRq Combination

For a non-responding, frozen system, it’s hard to bring it to a reboot or power off state. When you’ve no other option and as a last resort, you can try pressing Alt + PrintScreen + a sequence of keys in order to instantly reboot the system. It may not be a preferred or recommended option but nevertheless can be used as a last resort.

Always remember that there is possibility of data loss and corruption using this method as with any other non-graceful, forced reboot or shutdown option will have. Ensure system best practices for backups and redundancy and be careful when using this option.

For this option to work, it should have been enabled in the Linux kernel. You can check this by using below command:

$ cat /proc/sys/kernel/sysrq

An output of 1 indicates its enabled completely, while a number greater than indicates its partially enabled with some features. To enable it explicitly, you can use:

$ sudo echo “1” > /proc/sys/kernel/sysrq

To reboot a system using this method, keep holding Alt + SysRq (PrintScreen) and then press in sequence following keys after interval of few seconds between each key:

R E I S U B

or to shutdown press O instead of B at the end:

R E I S U O

Here what the keys mean:

  • R: Switch keyboard from raw to XLATE mode
  • E: Send SIGTERM signal to all processes except init
  • I: Send SIGKILL signal to all processes except init
  • S: Sync all mounted filesystems
  • U: Remount all mounted filesystems as read-only

Lastly, we’ve either B or O which stands for:

  • B: Immediately reboot the system, without unmounting partitions or syncing

OR

  • O: Immediately shut down the system, without unmounting partitions or syncing

Summary

So here go different ways that allow you to reboot or shut down a Linux system. It offers you options ranging from simple GUI interfaces to relatively complex terminal commands that can make your life easy or even allows you to automate stuff. For systems that froze for one reason or another, we discussed forced ways to achieve a reboot or shutdown state which may not be the ideal way but have to be used on rare occasions.

Take precautions while using the commands discussed in this article as they affect the system state and could possibly affect multiple users and services in the case of an enterprise server. Check out the man pages of commands suggested in this article to learn more about them and what all options they offer.

Learn how to configure WAS to stop asking for password during shutdown here.

Share on:
  • Abhishek Nair
    Author
    Abhishek is a SysOps engineer and loves to write about Linux, AWS and System administration.

Thanks to our Sponsors

More great readings on Linux

Power Your Business

Some of the tools and services to help your business grow.
  • The text-to-speech tool that uses AI to generate realistic human-like voices.

    Try Murf AI
  • Web scraping, residential proxy, proxy manager, web unlocker, search engine crawler, and all you need to collect web data.

    Try Brightdata
  • Monday.com is an all-in-one work OS to help you manage projects, tasks, work, sales, CRM, operations, workflows, and more.

    Try Monday
  • Intruder is an online vulnerability scanner that finds cyber security weaknesses in your infrastructure, to avoid costly data breaches.

    Try Intruder