Existe uma maneira mais rápida de desligar o sistema?

20

Ou é shutdown -h now o mais rápido possível?

Eu procuro por algum syscall ou similar que permita pular muitas das coisas feitas antes do desligamento (em particular, para se preocupar com os processos em execução).

Na melhor das hipóteses, gostaria de ter uma solução relacionada ao kernel, ignorando o init -middleware (como systemd ou upstart ).

Os riscos relacionados, ou seja, matar diretamente todos os serviços como copos / apache / pulseaudio etc ... Eu não me importo ...

observação: a solução deve ser software-vice. Pressionar os botões no dispositivo não é o que eu procuro.

    
por humanityANDpeace 21.10.2014 / 15:54

4 respostas

30

Não é muito mais rápido do que usar a funcionalidade Solicitação do Sistema (SysRq) e, em seguida, acionar um reboot imediato.

Esta é uma combinação de chaves entendida pelo kernel.

Ativar o SysRq:

echo 1 > /proc/sys/kernel/sysrq

Agora, envie-o para a reinicialização.

echo b > /proc/sysrq-trigger

b - Reinicialize o sistema imediatamente, sem desmontar ou sincronizar os sistemas de arquivos.

Nota:

Embora este seja um reboot , ele se comportará como se a energia tivesse sido cortada, o que não é recomendado.

Se você quiser sync e umount dos sistemas de arquivos antes da mão, use:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

ou se você quiser apenas desligar o sistema, então:

echo o > /proc/sysrq-trigger

Combinações de teclas mágicas

Também existem combinações de teclas que são interpretadas pelo kernel:

Alt + SysRq / Tela de impressão + Chave de comando

Teclas de comando:

R - Retorna o controle do teclado do X.
E - Envia o SIGTERM para todos os processos, permitindo que eles sejam finalizados normalmente.
I - Envia SIGKILL para todos os processos, forçando-os a terminar imediatamente.
S - Descarrega os dados no disco.
U - Remonta todos os sistemas de arquivos somente leitura.
B - Reinicializar.

Citação do Wiki da Magic SysRq Key :

A common use of the magic SysRq key is to perform a safe reboot of a Linux computer which has otherwise locked up.

  1. Hold down the Alt and SysRq (Print Screen) keys.
  2. While holding those down, type the following keys in order, several seconds apart: REISUB.
  3. Computer should reboot.

Uma maneira de lembrar estes são:

"Reboot Even If System Utterly Broken" or simply the word "BUSIER" read backwards.

Referências

Wiki da Magic SysRq Key - Fedora SysRq

    
por 21.10.2014 / 16:05
8

A abordagem desagradável é shutdown -h -n now .

Observe que isso não fará nenhuma limpeza, portanto os sistemas de arquivos podem ficar inconsistentes, os bancos de dados quebram, etc., mas o sistema é desligado muito rápido.

    
por 21.10.2014 / 17:28
5

Algumas distros oferecem um comando poweroff que é mais simples que shutdown .

Uso com:

poweroff -f

executará uma sincronização de disco e, em seguida, desligará. Esse é um bom compromisso entre ser muito mais rápido e ainda executar o desligamento mínimo para garantir que os sistemas de arquivos não sejam corrompidos.

    
por 21.10.2014 / 20:33
0

Tente usar o comando init:

init 0
    
por 24.10.2014 / 04:14