shutdown: Qual é a diferença entre “Power Off” e “Halt”?

54

Com seu shutdowncomando típico do Linux , qual é a diferença entre interromper o sistema e desligá - lo ?

Jake Wilson
fonte

Respostas:

45

Parar envolve parar todas as CPUs no sistema. Desligar envolve o envio de um comando ACPI para sinalizar à PSU para desconectar a energia principal.

Ignacio Vazquez-Abrams
fonte
2
Sempre que eu uso halt, o sistema é desligado.
precisa saber é o seguinte
@ TorKlingberg é porque, haltsem parâmetros, na verdade, é necessário desligar (veja linux.die.net/man/8/halt ) e showdown -hdeixa a decisão de desligar ou interromper apenas as configurações do computador.
Marcel L
Tenho certeza de que invocar o crontab na verdade não desliga o sistema, mas apenas interrompe a CPU, sem cortar a energia do PC. No ubuntu, a imagem de desligamento permanece visível na tela. Em vez disso, a interrupção da linha de comando o desliga. Estou certo?
Paolo Benvenuto
35

IIRC

# shutdown -H now

interromperá o sistema - o que significa que o sistema será encerrado e no final será interrompido em uma tela com a última mensagem sendo algo como "Sistema interrompido".

# shutdown -P now

desligará o sistema - o que significa que o sistema será desligado e, no final, desligado (somente possível se o sistema realmente o suportar, mas a maioria dos sistemas que conheço já faz um bom tempo)

# shutdown -h now

apenas interromperá ou desligará o sistema, dependendo do padrão desse sistema (às vezes pode ser alterado no BIOS)

Marcel G
fonte
10

Se a máquina em questão não possui recursos de gerenciamento de energia, não há diferença. Nesse caso, a diferença é que o desligamento enviará o sinal para desligar a máquina, o Halt desligará tudo e aguardará o prompt "Desligar", o que significa que é seguro pressionar o interruptor.

Alex
fonte
4

Estou bastante certo de que uma parada apenas desligará o SO, enquanto um desligamento desativará o SO e enviará um comando de desligamento ACPI à fonte de alimentação.

EEAA
fonte
"parar"
desliga
3

Bem, tecnicamente falando, você pode interromper o sistema sem desligá-lo. Para interromper, espere que ele diga "Você pode desligar o computador agora" e pressione o botão liga / desliga sem se preocupar com a possibilidade de algo desmontar de maneira estranha.

Mas na maioria das paradas modernas do unix, shutdown, init 0, poweroff, etc, etc, todos fazem a mesma coisa. Halt, por exemplo, é mapeado para "shutdown -h" quando o sistema não está no nível de execução 0 ou 6.

Os comandos redundantes são todos acenos para compatibilidade com versões anteriores com * nix proprietários mais antigos.

Satanicpuppy
fonte
Lembro-me de quando o Windows costumava funcionar dessa maneira! Quantas vezes eu vir trabalhar para ver o meu computador ainda dizendo "Agora você pode desligar em segurança o seu computador" da noite anterior ...
dunxd
1

Antigamente, "shutdown" era uma solicitação para executar os scripts init e tentar interromper normalmente tudo que estava sendo executado, notificando-o de que o sistema estava prestes a parar e que deveria limpar ou sair bem.

"Parada" era a parede de tijolos. O sistema parou imediatamente sem fazer nenhum desligamento ordenado. Era mais agradável para o sistema do que apenas puxar a energia de entrada ... mas não muito.

David Mackintosh
fonte