Use o systemctl para hibernar, desligar, reiniciar etc.

Em sistemas Linux, com o systemd, é possível usar o comando systemctl para executar diversas tarefas da administração do sistema.
linux, suspender, desligar, reiniciar
Neste post, vamos falar das que envolvem

Para se aprofundar um pouco mais em algum assunto abordado, clique nos links do texto.

O que é o systemctl?

É um utilitário que controla o systemd e o service manager.
De acordo com o manual, pode ser usado para introspectar e controlar o estado do systemd e do gestor de serviços do sistema.
Como foi dito, no primeiro parágrafo, pode ser usado para realizar várias atividades administrativas mas, neste post, vamos nos concentrar naquelas 5 que foram enumeradas acima.
Se quiser, clique na tag systemctl, para saber mais sobre ele.

Exemplos de uso do systemctl

Abra um terminal, para experimentar algumas funções do systemctl.
Se deseja desligar o sistema, use-o assim:

systemctl poweroff

Pode ser usado, portanto, como substituto do comando shutdown.
As opções do systemctl podem ser vistas com ‘–help’ ou usando a tecla Tab, para autocompletar.
Se vocẽ deseja “parar” o sistema, use a opção ‘halt’:

systemctl halt

Você provavelmente terá que desligar, pressionando o botão físico, após este comando.
Use ‘reboot’, para reiniciar:

systemctl reboot

ou

systemctl kexec

Para tornar o processo mais silencioso, use ‘-q’, ‘–quiet’ ou ‘–no-wall’:

systemctl --no-wall reboot

Se tiver suporte a EFI boot, é possível pedir ao firmware do seu sistema para entrar no menu de setup, no próximo boot:

systemctl --firmware-setup reboot 

systemctl firmware boot menu
Se quiser estabelecer um tempo, para esperar antes de executar o comando, use o sleep (em segundos):

sleep 60; systemctl poweroff

Tenha cuidado com a linha de comando, acima. Se você se arrepender e teclar ‘Ctrl+C’, durante a execução do sleep, irá interrompê-lo e disparar o segundo comando.
Neste sentido, o comando shutdown pode ser mais seguro.
Para hibernar o sistema:

systemctl hibernate

Para suspender:

systemctl sleep

Para suspender/hibernar-híbrido:

systemctl hybrid-sleep

Se quiser saber as diferenças entre estes 3 últimos comandos, leia este texto.

5 exemplos do comando shutdown no Linux

O comando shutdown, pra ser curto, desliga o seu sistema. Mas ele pode fazer isto de maneiras “diferenciadas”, se você conhecer algumas de suas opções.
Uma das minhas formas preferidas de usar o comando shutdown é a que permite programar o desligamento ou o reboot do meu sistema.
Em alguns casos, um administrador precisa programar um reinício — na maioria das vezes para aplicar certos updates no sistema. É coisa rara. Poucas atualizações no Linux precisam que a máquina seja reiniciada. Na maioria das vezes, apenas o serviço ou o daemon a que ela se refere é que precisa ser reiniciado.
Na maioria dos casos, as pessoas desejam programar o desligamento, por que vão sair e não querem deixar a máquina ligada durante sua ausência – mas também não querem interromper um download ou alguma outra tarefa que esteja sendo executada. A solução para isto é programar o shutdown para ser executado alguns minutos após o término previsto da tarefa em questão.

O que acontece ao executar o comando shutdown

Ao rodar o comando shutdown, o sistema é desligado de forma segura e todos os usuários (no terminal) são avisados. Além disso, poucos minutos antes de desligar, o sistema não recebe mais conexões novas.
Sim. Você precisa ter privilégios administrativos para desligar um servidor. Ainda mais, se quiser fazer isto remotamente.

Exemplos de uso do comando shutdown no Linux

Veja como reiniciar a máquina, com o comando shutdown:

sudo shutdown -r now

ou para desligar, mesmo:

sudo shutdown -h now

Você pode apenas avisar os usuários que o sistema será desligado e impedir novas autenticações no sistema, com a opção code>-k:

sudo shutdown -k now

Com o uso de -k o sistema não será desligado de verdade.
Se você quiser, pode programar o desligamento ou reinício do sistema. No exemplo, a seguir, vou programar a máquina para desligar em 30 minutos:

sudo shutdown -h 30

Esta é a mensagem que outros usuários irão receber em seus terminais:

Espalhar mensagem de justincase@JustInCase-Solaris-8
	(/dev/pts/5) em 1:04 ...

The system is going down for halt in 30 minutes!

Neste caso, o shutdown pode ser cancelado com o pressionamento das teclas Ctrl + C.
Um outro usuário, com privilégios administrativos, também pode cancelar o processo, de seu terminal, com o seguinte comando:

sudo shutdown -c

Para enviar uma mensagem aos usuários afetados pelo desligamento, use o comando desta forma:

sudo shutdown -r 30 "O sistema será reiniciado para aplicação de atualizações. Aproveite pra tomar um café."

Este seria o resultado de tal comando:

Espalhar mensagem de justincase@JustInCase-Solaris-8
	(/dev/pts/5) em 1:13 ...

The system is going down for reboot in 30 minutes!
O sistema será reiniciado para aplicação de atualizações. Aproveite pra tomar um café.

Use o shutdown para fazer duelos

Quando o chefe não estiver por perto, a brincadeira consiste em acessar a máquina do outro colega (via telnet ou SSH) e aplicar-lhe um shutdown antes que ele(a) o faça com você. Quem for mais rápido, vence.
Divirta-se!