Não encontrei uma resposta clara para as diferenças entre as duas opções do comando shutdown
.
É halt
igual shutdown -H
e poweroff
igual a shutdown -P
?
Não encontrei uma resposta clara para as diferenças entre as duas opções do comando shutdown
.
É halt
igual shutdown -H
e poweroff
igual a shutdown -P
?
Respostas:
É um pouco histórico.
halt
foi usado antes da ACPI (que hoje desligará a energia para você) *. Ele interromperia o sistema e, em seguida, imprimiria uma mensagem com o efeito "está tudo bem em desligar agora". Naquela época, havia interruptores físicos de ligar / desligar, em vez do botão de energia controlado por ACPI dos computadores modernos.
poweroff
, naturalmente, interromperá o sistema e desligará a ACPI.
* Hoje em dia halt
é inteligente o suficiente para ligar automaticamente poweroff
se a ACPI estiver ativada. De fato, eles são funcionalmente equivalentes agora.
/sbin/poweroff
existe um link simbólico para /sbin/halt
.
shutdown
. O comando é halt
o mesmo que shutdown -H
, e o comando é poweroff
o mesmo que shutdown -P
? @phunehehe também.
halt
costumava fazer exatamente isso. Sem desligamento ordenado, basta parar o que a máquina estava fazendo naquele momento. Era comum emitir sync;sync;sync;halt
para garantir que todos os buffers tivessem sido gravados no disco.
Eles não são a mesma coisa, apenas muito intimamente relacionados. Na prática, a menos que você deseja especificar um determinado tempo para desligar ou para forçar uma reinicialização imundo / parar / desligar imediata, isso realmente não importa se você executa shutdown -h
ou halt
... ou shutdown -r
vs reboot
. As coisas não eram tão convenientes no passado, mas é assim que funciona agora (muitas das oportunidades de ambiguidade ou erro do usuário foram removidas / suavizadas).
/sbin/shutdown
faz várias coisas de "limpeza", como notificar os usuários, bloqueando novos logins enquanto o sistema está sendo desligado. Também pode ser dito para desligar o sistema em um determinado momento ou em XX minutos - avisando os usuários conectados de vez em quando sobre o desligamento iminente.
Ele também altera o nível de execução para 0
( halt
/ poweroff
) ou 6
( reboot
), que aciona o sistema para interromper os serviços em execução, desmontar discos, etc., em preparação para a parada, desligamento ou reinicialização real.
Quando tudo o que é feito, em seguida, chama /sbin/halt
, /sbin/reboot
ou /sbin/poweroff
( reboot
e poweroff
geralmente são links simbólicos para halt
, que interpreta como halt -r
e halt -P
respectivamente).
Observe, no entanto, que se halt
/ reboot
/ poweroff
for chamado quando o sistema NÃO estiver no nível de execução 0
ou 6
eles serão chamados shutdown
para executar seu trabalho, a menos que a opção -f
ou force
seja usada.
(Os detalhes de como os níveis de execução-são interpretados pode variar de distribuição para distribuição, mas 0
e 6
são utilizados como descrito aqui no Debian e Debian derivados como Ubuntu).
Veja as páginas de manual para shutdown
e halt
para mais informações.
Por fim, a distinção entre halt
e poweroff
estado é que halt
tudo faz para realmente desligar a máquina (em alguns tipos de hardware, isso significa que ele entra em um gerenciador de inicialização ROM ou similar. Na maioria dos hardwares para PC, ele pára), enquanto poweroff
conclui a etapa final e desligue. reboot
, é claro, chega ao estado de parada e reinicia o computador.
BTW, o padrão é tipicamente um poweroff
ou outro reboot
, mas você pode usar -H
como argumento shutdown
para fazê-lo parar. Isso não é muito útil em caixas Linux baseadas em PC (mas é útil em máquinas, como caixas sparc, que possuem um monitor de inicialização de firmware. É possível que possa se tornar útil em máquinas mais novas com uma linha de comando EFI).
shutdown
comandos têm a noção de níveis de execução. shutdown
principalmente não invoca halt
/ reboot
/ poweroff
; Ironicamente, é em alguns sistemas não Linux onde essa sabedoria recebida ainda permanece verdadeira hoje. E onde os links simbólicos apontam não é necessariamente halt
; não apenas isso, em alguns conjuntos de ferramentas eles não são links simbólicos . Consulte unix.stackexchange.com/a/196471/5132 para obter mais detalhes.