-P Requests that the system be powered off after it has been
-h Requests that the system be either halted or powered off after
it has been brought down, with the choice as to which left up to
Seeing that -P works for you. Now it's a question of why not? The usual cmd to shutdown is
shutdown -h now. In old school init based systems there was a config file that tweaks shutdown when entered from this point. From my initial investigation it turns out upstart falls back to init.d scripts to handle this. With global configuration living in
/etc/default/halt and the actual script is
It looks like "POWEROFF" is the default action, so if you just did
shutdown -h or
telinit 0, it should also power off.
# If INIT_HALT=HALT don't poweroff.
if [ "$INIT_HALT" = "HALT" ]
INIT_HALT=POWEROFF (defined in /etc/default/halt), that
poweroff='-p' stays set. To debug this it should be as simple as adding the vars populated at the end of the script like so.
log_action_msg "Will now halt: $netdown $poweroff $hddown"
I wonder if your shutdown cmds are simply overriding the init configuration? In which case
telinit 0should also shutdown the server and should become the first choice in performing this action.