Diferença entre "parar" e "desligar agora"?

30

O Ubuntu one remote usa sudo -S -p '' haltpara desligamento e não funciona até o fim. deixando o monitor ligado com a mensagem

agora vai parar

[22225.11163] interrompido

Qual é a diferença entre sudo -S -p " halt e sudo shutdown now?

nkvnkv
fonte

Respostas:

41

As opções -Se não têm importância neste caso. Aqui está o que eles fazem, respectivamente.-psudo

A -Sopção faz sudocom que a senha seja lida no STDIN. Isso permite, por exemplo, que uma senha seja canalizada sudoatravés de echoou cat.

A -popção permite substituir o prompt de senha padrão e usar um personalizado, ou nenhum.


A diferença importante está nos dois comandos emitidos por sudo.

O haltcomando, se chamado sem o -pcomutador, simplesmente interrompe o SO e interrompe todas as CPUs. Depois que o sistema é interrompido de maneira limpa, o usuário pode pressionar com segurança o botão Liga / Desliga no computador manualmente.

Os poweroff, shutdown -h nowe halt -pcomandos todos fazem a mesma coisa que haltsozinho, enquanto que, adicionalmente, enviando um comando ACPI para sinalizar a fonte de alimentação para desligar a alimentação principal. Isso evita que você precise pressionar fisicamente o botão Liga / Desliga no seu computador.

SirCharlo
fonte
9
shutdown -h nowtambém não necessariamente desliga a energia. Conforme man shutdown, depende do sistema. shutdown -H now(observe as tampas sobre H) é a garantia de ser equivalente ahalt
MestreLion
11

haltnão é shutdown, eles são comandos diferentes. O primeiro não desliga a energia, a menos que a -popção seja usada

No manual ( man halt): "-p, --poweroff: instrui o comando halt a se comportar como poweroff."

E, no seu caso, não-p foi usado no comando, portanto, seu computador não foi desligado.halt

Não confunda este -p com o de sudo, é um parâmetro diferente para um comando diferente. De man sudo:

  • -S A opção -S (stdin) faz com que o sudo leia a senha da entrada padrão em vez do dispositivo terminal. A senha deve ser seguida por um caractere de nova linha.
  • -p prompt A opção -p (prompt) permite substituir o prompt de senha padrão e usar um personalizado.

No seu caso, promptestá vazio (nenhuma mensagem é exibida para o sudo ao solicitar a senha) e -S faz com que o sudo aceite a senha root vi stdin (portanto, a senha pode ser fornecida usando pipes e redirecionamento de outros comandos, em vez de ser digitada)

MestreLion
fonte
7

Há uma boa resposta no site do Unix SE sobre a questão shutdownvs halt: Qual é a diferença entre os comandos Halt e Shutdown?

Quanto à sudo -S -p ''peça, isso removerá a mensagem sobre a solicitação da senha no terminal (você ainda digitou sua senha)

Por exemplo, a execução sudo <some_command>fornecerá essa saída antes de executar este comando:

[sudo] senha para:

Mas correr sudo -S -p '' <some_command>esconderá essa mensagem.

De fato, a mensagem que você coloca entre aspas está substituindo a mensagem anterior.

Vá em frente e tente o seguinte, e veja a diferença:

 sudo -S -p 'Hey, I am a custom message.' ls
Dan
fonte
0

Não há diferença entre o comando halt e o shutdown em termos da intenção do usuário. A pequena diferença é que, na parada, você deve pressionar o botão liga / desliga para desligar o sistema, enquanto no comando shutdown instruirá automaticamente a ACPI (Advanced Configuration Power Interface) para enviar um sinal à unidade de energia para desligar o sistema.

Unaowo Brandy
fonte