Linux: Como Sair, Reiniciar e Desligar
Para encerrar o shell atual no Linux, você pode usar exit; para reiniciar o sistema, use sudo systemctl reboot; e para desligar, use sudo systemctl poweroff. Sair afeta apenas a sessão atual, enquanto reiniciar e desligar também afetam outros usuários e serviços no servidor.
Verifique Antes da Execução
Os exemplos de reinicialização e desligamento neste artigo são baseados em Linux usando systemd. Comandos executados imediatamente podem afetar trabalhos não salvos e serviços em execução, então salve seu trabalho, informe outros usuários e execute-os durante o horário de manutenção. Em servidores, verifique os backups e o impacto nos serviços.
Se você estiver conectado via SSH, os comandos são executados no servidor ao qual você se conectou, não no seu PC. Os seguintes comandos ajudam a verificar o destino.
hostname
date
who
hostname mostra o nome do host atual, date mostra a hora atual do servidor e o fuso horário, e who mostra uma lista de usuários exibidos nos registros de login. Você não pode identificar totalmente o servidor apenas pelo nome, então também verifique com as informações da ferramenta de gerenciamento. Servidores remotos desconectarão conexões SSH durante a reinicialização, e após o desligamento, pode não haver como ligá-los diretamente, então verifique o console ou o caminho de gerenciamento de energia com antecedência.
Sair do shell atual
Para sair do shell atual, execute o seguinte comando.
exit
Quando executado no último shell de uma sessão SSH, geralmente fecha a conexão remota. Se você estiver em um shell aninhado, retorne primeiro ao shell externo. logout pode ser usado ao sair de um shell de login, mas pode não funcionar em um shell típico que não seja de login. Fazer logout não desliga o sistema em si, e se as tarefas em andamento continuarão depende das configurações da sessão e das tarefas.
Reiniciar ou desligar imediatamente
Em um sistema systemd, o seguinte comando solicita uma reinicialização. Os serviços começam a parar imediatamente após a execução, então certifique-se de que o alvo está correto primeiro.
sudo systemctl reboot
Para desligar o sistema e cortar a energia, use o seguinte comando.
sudo systemctl poweroff
Privilégios administrativos podem exigir sudo ou autenticação separada dependendo do ambiente. O status de energia e o método de reinicialização de máquinas virtuais ou servidores em nuvem podem variar de acordo com as políticas da plataforma de gerenciamento. Após o reinício, reconecte-se e verifique se os serviços necessários estão funcionando corretamente. halt, que para o sistema, e poweroff, que o desliga, não têm o mesmo significado, então escolha o comando que se adequa ao seu propósito.
Agendamento e cancelamento de reinicializações ou desligamentos
Você pode agendar operações com shutdown. O seguinte comando agenda uma reinicialização para 10 minutos depois.
sudo shutdown -r +10
-r é reiniciar, +10 é 10 minutos a partir do horário atual. Para desligar a energia 10 minutos depois, use -P.
sudo shutdown -P +10
Você também pode especificar um horário específico com HH:MM no formato de 24 horas. Por exemplo, para agendar uma reinicialização às 23:30 no horário do servidor, execute o seguinte.
sudo shutdown -r 23:30
Antes de executar, verifique o horário do servidor e o fuso horário e certifique-se de que o horário desejado ainda não passou. Dependendo da implementação e da versão, o tratamento de horários que já passaram pode diferir, e algumas versões podem iniciar o desligamento imediatamente. Inserir um comando agendado afeta o sistema, portanto, não o execute em um servidor de produção apenas para teste.
Para cancelar um desligamento agendado que ainda não começou, execute o seguinte comando.
sudo shutdown -c
Cancelamentos se aplicam a desligamentos pendentes do sistema e podem pertencer a outro administrador, então, por favor, verifique primeiro. Este não é um comando para desfazer uma reinicialização ou desligamento imediato que já tenha começado. Em algumas versões recentes do systemd, você pode visualizar desligamentos pendentes com shutdown --show, mas algumas versões podem não ter essa opção. Para comportamento detalhado, consulte man shutdown no seu sistema e a documentação do systemd sobre shutdown.
Apenas enviando notificações e solucionando problemas
O shutdown -k do systemd envia notificações para usuários conectados sem realmente desligar ou reiniciar. Por exemplo, o seguinte comando envia uma mensagem com a hora.
sudo shutdown -k +10 "Maintenance notice"
A forma como as notificações são recebidas pode variar dependendo das sessões do usuário e das configurações do sistema, portanto, anúncios importantes de trabalho também devem ser entregues por canais separados. -k não é um desligamento agendado real.
- Erro de permissão: Verifique as permissões do sudo e a política de autenticação do sistema.
- Comando ou opção diferente: Como o comportamento pode variar dependendo da distribuição e do sistema de inicialização, verifique
man shutdowneman systemctl. - Falha ao conectar após reinicialização: Aguarde tempo suficiente e então verifique o status de energia, rede, SSH e serviços essenciais a partir do console de gerenciamento.




