Diferença entre “halt” e “shutdown now”?

26

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

  

parará agora

     

[22225.11163] interrompida

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

    
por nkvnkv 18.09.2012 / 16:37

4 respostas

38

As opções -S e -p de sudo não têm importância nesse caso. Aqui está o que eles fazem, respectivamente.

  

A opção -S faz com que sudo leia a senha de STDIN. Isso permite, por exemplo, que uma senha seja canalizada para sudo a echo ou cat .

     

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

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

  

O comando halt , se invocado sem a opção -p , simplesmente interrompe o sistema operacional e interrompe todas as CPUs. Quando o sistema estiver completamente parado, o usuário pode acessar o botão Liga / Desliga do computador com segurança manualmente.

     

Os comandos poweroff , shutdown -h now e halt -p fazem a mesma coisa que halt sozinhos, enquanto enviam adicionalmente um comando ACPI para sinalizar à fonte de alimentação para desconectar a energia principal. Isso evita que você tenha que pressionar fisicamente o botão Liga / Desliga no computador.

    
por SirCharlo 18.09.2012 / 16:56
10

halt não é shutdown , são comandos diferentes. O primeiro não desliga a energia, a menos que a opção -p seja usada

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

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

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 que você sobrescreva o prompt de senha padrão e use um personalizado.

No seu caso, prompt está vazio (nenhuma mensagem é exibida para o sudo ao perguntar a senha), e -S faz o sudo aceitar senha de root vi stdin (assim a senha pode ser fornecida usando pipes e redirecionamento de outros comandos em vez de serem digitados )

    
por MestreLion 18.09.2012 / 16:55
7

Há uma boa resposta no site da Unix SE sobre o shutdown vs halt issue: Qual é a diferença entre os comandos Parar e Parar?

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

Por exemplo, executar sudo <some_command> fornecerá essa saída antes de executar este comando:

  

senha [sudo] para:

Mas a execução de sudo -S -p '' <some_command> ocultará essa mensagem.

Na verdade, a mensagem que você coloca nas 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
    
por Dan 18.09.2012 / 16:55
0

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

por Unaowo Brandy 26.05.2015 / 10:03