Eles não são a mesma coisa, apenas intimamente relacionados. Na prática, a menos que você queira especificar uma hora específica para o desligamento ou para forçar uma reinicialização / parada / desativação impura imediata, não importa se você executa shutdown -h
ou halt
... ou shutdown -r
vs% código%. As coisas não eram muito convenientes no passado, mas é assim que funciona agora (muitas das oportunidades para ambigüidade ou erro do usuário foram removidas / suavizadas).
reboot
faz muita coisa de "limpeza", como notificar usuários, bloqueando novos logins enquanto o sistema está sendo desligado. Ele também pode ser avisado para desligar o sistema em um determinado momento ou em XX minutos - alertando os usuários conectados de vez em quando sobre o desligamento iminente.
Ele também altera o nível de execução para /sbin/shutdown
( 0
/ halt
) ou poweroff
( 6
), que aciona o sistema para interromper os serviços em execução, desmontar discos, etc, em preparação para a parada real. desligamento ou reinicialização.
Quando tudo isso é feito, ele chama reboot
, /sbin/halt
ou /sbin/reboot
( /sbin/poweroff
e reboot
geralmente são links simbólicos para poweroff
, que os interpreta como halt
e halt -r
respectivamente).
Observe, no entanto, que se halt -P
/ halt
/ reboot
for chamado quando o sistema NÃO estiver no nível de execução poweroff
ou 0
, eles chamarão 6
para fazer seu trabalho, a menos que% A opçãoshutdown
ou -f
é usada.
(Os detalhes de como os níveis de execução são interpretados podem variar de distribuição para distribuição, mas force
e 0
são usados como descrito aqui no Debian e em derivados Debian como o Ubuntu).
Veja as man pages de 6
e shutdown
para mais informações.
Finalmente, a distinção entre halt
e halt
state é que poweroff
faz tudo para realmente desligar a máquina (em alguns tipos de hardware isso significa que ele cai em um bootloader ROM ou similar. Na maioria dos PCs hardware apenas pára), enquanto halt
conclui o passo final e desliga. poweroff
, claro, chega ao estado de parada e reinicia o computador.
BTW, o padrão normalmente é reboot
ou poweroff
, mas você pode usar reboot
como um argumento para -H
para fazê-lo parar. Isso não é muito útil em caixas Linux baseadas em PC (mas é útil em máquinas, como sparc boxes, que possuem um monitor de inicialização de firmware. É possível que ele se torne útil em máquinas mais novas com uma linha de comando EFI).