Eu estava tentando desligar meu PC através de SSH. eu executei
sudo shutdown now
O usuário foi desconectado e o Ubuntu começou a desligar, mas congelou na última tela com o logotipo do Ubuntu e os pontos de carregamento. Alguma ideia de onde pode estar o problema?
Além disso, qual é a diferença entre shutdown
e halt
? Que outros comandos semelhantes existem?
Responder1
Nas páginas MAN:
Desligar- "o desligamento faz com que o sistema seja desligado de forma segura. Todos os usuários logados são notificados de que o sistema está caindo e, nos últimos cinco minutos de TIME, novos logins são impedidos." O tempo mencionado aqui é um valor especificado pelo usuário que está desligando.
Parar- "Esses programas permitem que um administrador do sistema reinicie, interrompa ou desligue o sistema."
A diferença é que o Halt pode ser mais “agressivo” ao desligar do que o próprio Shutdown. Possui parâmetros que podem literalmente forçar o desligamento do sistema sem considerar serviços ou programas abertos. Se você executar halt sem nenhum parâmetro, ele simplesmente executará o comando shutdown. Algo como um apelido. Se você executá-lo, por exemplo, com o parâmetro, --force
ele "forçará" o sistema a reiniciar muito rápido.
Em caso de interrupção ou desligamento, eles aguardarão que todos os processos terminem corretamente antes de desligar ou reiniciar o PC. Se um serviço ou aplicativo não fechar ou não fechar corretamente, você verá o que mencionou lá (o logotipo do Ubuntu com os pontos).
A maneira correta no terminal para um único usuário ou multiusuário é desligar. Mas se o desligamento não estiver funcionando, verifique quais serviços você está executando e qual deles está causando a lentidão ou congelamento do desligamento.
Com isso em mente, existem várias maneiras de reiniciar ou desligar o sistema:
Reiniciando- shutdown -r
,reboot
Nesse caso, reiniciar é simplesmente chamar shutdown -r
.
Desligando- halt
, shutdown
, sudo init 0
, shutdown -h now
,poweroff
Neste caso, poweroff
é o mesmo que chamarshutdown -P
Como você notou, o shutdown
comando pode fazer muitas coisas, aqui está uma pequena lista:
-r Requests that the system be rebooted after it has been brought down
-h Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H Requests that the system be halted after it has been brought down
-P Requests that the system be powered off after it has been brought down
-c Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k Only send out the warning messages and disable logins, do not actually bring the system down
Assim como oreboot
-f, --force force reboot or halt, don't call shutdown(8)
-p, --poweroff switch off the power when called as halt
No entanto, há uma diferença entre desligar através do terminal e clicar na opção Desligar no Unity. Este último solicitará ao usuário interação com qualquer trabalho não salvo (como libreoffice, inkscape...). o primeiro simplesmente enviará um sinal a todos os processos dizendo-lhes para fecharem. Nenhuma interação do usuário será necessária, portanto qualquer trabalho não salvo será eliminado.
Responder2
O que você precisa fazer é desligar o computador após desligá-lo, executando o comando abaixo:
sudo desligamento -P 20
Responder3
Um outro comando para desligar o sistema é
sudo init 0
init 0 chama todos os scripts de desligamento e desliga sua máquina normalmente.
Responder4
Crie um roteiro:
#!/bin/bash
shopt -s nocasematch
read -t 30 -N 1 -p 'Shutdown now? (Y/n) '
[[ "$REPLY" =~ n ]] || sudo poweroff