Chapter 6. Shutting down virtual machines


To shut down or restart a virtual machine on a RHEL 9 host, you can use the command line or the web console GUI.

To shut down a virtual machine (VM), you can use the virsh shutdown command. If the VM is unresponsive, you can force the shutdown by using the virsh destroy command.

Prerequisites

  • You have a running VM on your host.

Procedure

  1. To shut down a responsive VM, do one of the following:

    • If you are connected to the guest, use a shutdown command or a GUI element appropriate to the guest operating system.

      Note

      In some environments, such as in Linux guests that use the GNOME Desktop, using the GUI power button for suspending or hibernating the guest might instead shut down the VM.

    • Alternatively, use the virsh shutdown command on the host:

      • If the VM is on a local host:

        # virsh shutdown <demo-guest1>

        Successful output:

        Domain 'demo-guest1' is being shutdown
      • If the VM is on a remote host (in this example 192.0.2.1):

        # virsh -c qemu+ssh://root@192.0.2.1/system shutdown <demo-guest1>

        Successful output:

        root@192.0.2.1's password:
        Domain 'demo-guest1' is being shutdown
  2. If the VM is not responding, you can force it to shut down. To do this, use the virsh destroy command on the host:

    # virsh destroy <demo-guest1>

    Successful output:

    Domain 'demo-guest1' destroyed
    Important

    The virsh destroy command does not actually delete or remove the VM configuration or disk images. It only terminates the running instance of the VM, similarly to pulling the power cord from a physical machine.

    However, in rare cases, virsh destroy might cause corruption of the VM’s file system, so use this command only if all other shutdown methods have failed.

Verification

  • On the host, display the list of your VMs to see their status.

    # virsh list --all

    Successful output:

     Id    Name                 State
    ------------------------------------------
     1     demo-guest1          shut off

Using the RHEL 9 web console, you can shut down or restart running virtual machines. You can also send a non-maskable interrupt to an unresponsive virtual machine.

To shut down a running virtual machine (VM), you can use the Virtual Machines interface in the RHEL 9 web console.

Prerequisites

Procedure

  1. In the Virtual Machines interface, find the row of the VM you want to shut down.
  2. On the right side of the row, click Shut Down.

    The VM shuts down.

Troubleshooting

  • If the VM does not shut down, click the Menu button next to the Shut Down button and select Force Shut Down.
  • To shut down an unresponsive VM, you can also send a non-maskable interrupt.

To restart a running virtual machine (VM), you can use the Virtual Machines interface in the RHEL 9 web console.

Prerequisites

Procedure

  1. In the Virtual Machines interface, find the row of the VM you want to restart.
  2. On the right side of the row, click the Menu button .

    A drop-down menu of actions appears.

  3. In the drop-down menu, click Reboot.

    The VM shuts down and restarts.

Troubleshooting

  • If the VM does not restart, click the Menu button next to the Reboot button and select Force Reboot.
  • To shut down an unresponsive VM, you can also send a non-maskable interrupt.

Sending a non-maskable interrupt (NMI) may cause an unresponsive running virtual machine (VM) to respond or shut down. For example, you can send the Ctrl+Alt+Del NMI to a VM that is not responding to standard input.

Prerequisites

Procedure

  1. Log in to the RHEL 9 web console.
  2. In the Virtual Machines interface, find the row of the VM to which you want to send an NMI.
  3. On the right side of the row, click the Menu button .

    A drop-down menu of actions appears.

  4. In the drop-down menu, click Send non-maskable interrupt.

    An NMI is sent to the VM.

Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top