
When halt is not a real halt but a “disabling” of the CPU.
TL;DR:
Don’t use halt, use poweroff instead.
A while ago I wrote about OpenSuSE 12.x not halting after a halt:
The same holds for more recent OpenSuSE systems, but ESXi would never tell what was going on.
Recently I installed an OpenSuSE Tumbleweed system under VMware Fusion (running on Mac OS X) which indicated “The CPU has been disabled by the guest operating system.”

Log indicates a “Shutdown” which in fact is a CPU not powered down.
Which — Understanding the message: The CPU has been disabled by the guest operating system (2000542) | VMware KB [WayBack] — means that halt will not power down the VM but perform a CLI + HLT on the CPU. This effectively hangs the CPU even though the console log on the right tells does a real Shutdown.
In the past – even under ESXi – a halt would just power down the system, so based on the above I did more digging and fount this very interesting answer in rhel – What is the difference between these commands for bringing down a Linux server? – Unix & Linux Stack Exchange [WayBack] which comes down to:
- on a systemd [WayBack] based system commands like
halt, reboot, shutdown all invoke systemctl [WayBack] calling for a specific target [WayBack].
- mapping of targets and commands is as follows (quoted from the answer):
systemctl isolate halt.target has the shorthands:
shutdown -H now
systemctl halt
- plain unadorned
halt
systemctl isolate reboot.target has the shorthands:
shutdown -r now
telinit 6
systemctl reboot
- plain unadorned
reboot
systemctl isolate poweroff.target has the shorthands:
shutdown -P now
telinit 0
shutdown now
systemctl poweroff
- plain unadorned
poweroff
systemctl isolate rescue.target has the shorthands:
telinit 1
systemctl rescue
systemctl isolate multi-user.target has the shorthands:
telinit 2
telinit 3
telinit 4
systemctl isolate graphical.target has the shorthand:
For a SysV [WayBack] init runlevels versus systemd targets see:
The systemd parameters making things a bit confusing, for instance you can do reboot --halt and more of those shown in linux – Are there any good reasons for halting system without cutting power? – Super User [WayBack].
That also explains that halt without a powerdown can be useful: it for instance gives the end-user the opportunity to click the reset button instead of the power button after a halt.
–jeroen