Quer começar de novo? Este tutorial mostrará como reinicializar ou desligar seu computador Linux ou macOS de maneira limpa e segura a partir da linha de comando.
Índice
Estamos indo para baixo
Às vezes, você só precisa reiniciar ou desligar totalmente. Se você estiver trabalhando em um servidor sem interface gráfica do usuário ou em uma sessão SSH com um computador remoto, a linha de comando é sua única opção. Linux e sistemas semelhantes ao Unix, como o macOS, fornecem vários comandos para desligar ou reinicializar o sistema diretamente da linha de comando.
Os comandos que você pode usar são:
- desligar
- reiniciar
- parar
- desligar
Examinar as páginas do manual para esses comandos pode ser confuso. Dependendo das opções de linha de comando que você escolher, todos esses comandos podem realizar desligamentos , reinicializações e interrupções do sistema. Na verdade, as páginas man para reboot
, halt
e poweroff
contêm exatamente a mesma informação .
O que está por trás disso?
A resposta está no sistema de bootstrap systemd que substituiu o System V init
sistema venerável . No mundo Linux, o Fedora começou a ser usado systemd
em 2011. Desde então, ele foi adotado por muitas distribuições. Debian e Ubuntu trocados systemd
em 2015.
Em systemd
distribuições baseados os shutdown
, reboot
, halt
, e poweroff
comandos são efetivamente atalhos que apontam para o systemctl
comando. Manter esses comandos fornece um grau de compatibilidade com System V init
distribuições baseadas em. Isso significa que os scripts de shell (e administradores de sistema do System V hard-core) não desmaiam se forem movidos para um computador com uma systemd
distribuição em execução.
Usando desligamento
Desligar ou reinicializar um sistema multiusuário significa que você deve planejar com antecedência. Você precisa decidir quando irá desligar ou reiniciar, e avisar os outros usuários do sistema que o desligamento está chegando, e quando. Se for o seu próprio computador e você for o único que o usa, a vida é muito mais simples.
Para executar qualquer um desses comandos, você precisa estar no sudo
grupo. Ou seja, você deve ter permissões de superusuário e ser capaz de usar o sudo
comando. Se o comando emitido tiver efeito imediato e não afetará outros usuários conectados, você não precisará usá-lo sudo
. Se você tentar usar um desses comandos e o comando for recusado, tente novamente com sudo
.
Por padrão, o shutdown
comando garante que todos os processos sejam interrompidos de forma limpa, todos os sistemas de arquivos sejam sincronizados e todas as atividades da CPU tenham cessado. Este é o estado de ‘parada’. Em seguida, ele envia uma mensagem ao hardware para cortar a energia. É claro que este é o estado de desligamento ou “desligamento”.
É comum passar shutdown
alguns parâmetros, como uma string de horário e uma mensagem que será enviada aos usuários logados para avisá-los do desligamento. Vamos agendar um desligamento para 15 minutos a partir de agora. Digite shutdown
, um espaço +15
,, um espaço e, em seguida, a mensagem a ser enviada aos usuários.
desligamento +15 Desligando em 15 minutos!
A string de tempo que usamos foi +15
, representando 15 minutos a partir de agora. O +
é opcional. Poderíamos ter digitado 15
.
Recebemos uma resposta que confirma que um desligamento está agendado e quando ocorrerá. Os usuários logados receberão a mensagem que fornecemos.
Para cancelar um desligamento, use a -c
opção (cancelar).
desligamento -c
Embora você não receba nenhuma notificação de que seu desligamento foi cancelado, seus usuários conectados são notificados.
Se você não fornecer uma sequência de tempo, o desligamento será agendado para daqui a um minuto . Observe que você não pode enviar uma mensagem aos usuários conectados se não especificar uma string de hora.
desligar
Se você não puder esperar nem um minuto, poderá usar now
como string de tempo e o desligamento terá efeito imediato . Usar now
é como usar +0
.
A string de hora pode ser uma hora definida, como 23:00. Deve seguir o formato HH:MM
e estar no formato de 24 horas. Cinco minutos antes de o sistema cair, novos logins são impedidos.
Sabemos que a ação padrão de shutdown
faz com que o computador vá para o estado de parada e depois para o estado de desligado. Podemos substituir esse comportamento passando outras opções de linha de comando para ele.
- A
-H
opção (interromper) fará com que o computador pare, mas não solicitará que o hardware seja desligado. - O
-P
(desligamento) é a ação padrão. O computador é colocado no estado de parada e, em seguida, desligado. - A
-r
opção (reiniciar) fará com que o computador pare e o reinicie. - A opção
-h
(parar e desligar) é a mesma que-P
. Se você usar-h
e-H
juntos, a-H
opção terá prioridade. - A
-c
opção (cancelar) irá cancelar qualquer desligamento programado, parada ou reinicialização.
Aqui está um exemplo em que agendamos uma reinicialização.
shutdown -r 08:20 Reinicialização do sistema às 08:20
Os comandos de reinicialização, parada e desligamento
Esses comandos executam a ação que seu nome sugere. No entanto, cada um deles aceitará opções de linha de comando para fazer com que qualquer um deles execute uma reinicialização, uma parada ou um desligamento. Mas por que confundir as coisas? Esses comandos são mais bem usados pelo valor de face.
Se você deseja reiniciar agora, use reboot
. Se você quiser desligar agora, use poweroff
, e se quiser parar o sistema agora, use halt
.
reiniciar
parar
desligar
Esses comandos têm efeito imediato. Se algum desses comandos for recusado, preceda-os com sudo
. Mas esteja ciente de que uma recusa geralmente ocorre porque há outros usuários logados no sistema que você está prestes a colocar offline.
Qual comando é certo para mim?
Em ambientes multiusuário, usar o shutdown
para executar essas ações oferece mais controle. A facilidade de agendar desligamentos e reinicializações e alertar os usuários com uma mensagem de difusão será inestimável nesses casos. Para um computador de usuário único, reboot
e poweroff
provavelmente irá atender às suas necessidades.