Eu não sugiro fazer o seguinte se você não for forçado por razões realmente especiais:
kill -SEGV 1 # should generate a core dumps and kernel panic
kill -ABRT 1 # should generate a core dumps and kernel panic
kill -9 1 # On old systems worked nowadays not
É áspero, brutal e pode ser considerado um equivalente próximo de desconectar o cabo de alimentação ...
A maneira correta é shutdown -h now
com sudo
antes quando necessário.
Talvez eu deva dizer da maneira legal ; veja abaixo ou melhor tl; dr.
Algumas palavras a mais , também conhecida como A história, Capítulo I
No começo era o init e será até o fim.
Todo o Linux depende do carinho de init [ 1 ] [ 2 ] . No entanto, e não sem uma certa quantidade de ingratidão, houve um tempo em que o bom usuário root do Lord pode trair esse amor e de repente kill
começar com uma -9
ordem incontestável ( ).
( O Livro de Etiqueta prescreve que usuários de contagens, duques e marquês invoquem antes de a sudo
).
Então alguns bruxos fizeram um encanto para proteger init (do Livro de man 2 init
)
Os únicos sinais que podem ser enviados para o processo ID 1, o processo init, são aqueles para os quais o init instalou explicitamente manipuladores de sinal. Isso é feito para garantir que o sistema não seja desativado acidentalmente.
(Nossos espiões relatam [ U1 ] que o init lidará com 1 HUP 6 ABRT 11 SEGV 15 TERM 30 PWR 2 INT 10 USR1 14 ALRM 17 CHLD 32)
Portanto, o bom usuário root do Lord aprende as notícias e altera o comando kill -ABRT 1
ou, kill -SEGV 1
geralmente, gera um pânico do kernel e um core dump.
Funciona porque o init é o primeiro processo a ser executado e leva o número PID 1 [ 2b ] .
Isso é inseguro, imprudente e você sente que é um arauto de mau presságio e uma maldição, mas se você não puder colocar as mãos materialmente e desconectá-lo ...
A maldição : não gravará no log, não matará todos os processos e aguardará seu término, não gravará no HDD atualizando adequadamente os inodes nem desmontará os sistemas de arquivos; nem se preocupe, isso salvará as opções das janelas gráficas e dos históricos de shell e muitas outras além da nossa imaginação ... como dissemos um equivalente próximo de desconectar o cabo de força ou a bateria de um laptop.
A maneira correta
"Non nobis, Domine, non nobis, sed nomini tuo da gloriam.", Lema dos cavaleiros templários.
A maneira legal (correta) é usar shutdown
[ 3 ]
sudo shutdown -h now
O encerramento determina que o sistema seja desativado de maneira segura. Todos os usuários conectados são notificados de que o sistema está inoperante e ...
mas com -h now
eles não terão tempo suficiente para fazer tanto ...
Algumas palavras a mais , também conhecida como A história, Capítulo II
Era uma vez alguns passos lógicos sentidos do céu sobre o povo unix:
Depois que os processos do sistema são eliminados e os sistemas de arquivos desmontados, o sistema pára / desliga ou reinicia automaticamente. Isso é feito usando o comando halt ou reboot, que sincroniza as alterações nos discos e executa a parada / desligamento real ou a reinicialização. [ 4 ]
De fato, hoje em dia, não confiamos mais na existência dos três Moirai [ 5 ] do mundo Linux , reboot
, poweroff
e halt
[ 6 ] : a ciência moderna de ls -l $(which poweroff halt reboot)
eo de man reboot
, os spreads nova luz sobre esta idade das trevas e nos revelar que existe apenas um comando verdadeiro que analisa todas as suas opções, para que finalmente possamos pedir ações que contradigam os nomes de seus comandos! ( halt -p
ou reboot -p
para poweroff
, shutdown -r
para reboot
...)
Agora que tudo parecia claro e acolhedor para todos, os rumores afirmam que [ 7 ] no submundo do conjunto de ferramentas systemd [ 8 ] uma revolução foi realizada, deixando inconsciente o mundo inteiro . Graças a um exército de calços de compatibilidade com versões anteriores , nem percebemos que reinicialização, desligamento automático, interrupção [ 6 ] e até telinit [ 9 ] e desligamento [ 3 ] já estão vinculados ao novo rei systemctl [ 10 ]. Por favor, ouça toda a história da voz original de JdeBP The Bard [ 9 ], porque não tenho mais fôlego.
Se você é um seguidor do culto ao Ubuntu, ainda pode permanecer ciente por um tempo de todas essas reivindicações [ 11 ] .
A Terra meio halt -f
, init
, telinit
, systemctl
Pesquisa pela solução mais rápida do que o correto, mas de igual modo sábio.
systemctl --force --force poweroff # the most close to kill -9 1
systemctl --force poweroff # rough but still safe
sudo halt -f # rough
sudo telinit 0 # or 6 # safe
kill -SIGINT 1 # cause reboot as the reboot command
kill -SIGRTMIN+4 1 # cause shutdown as the halt command
Se você está com o systemd ou não, deve poder parar o computador sem invocar todos os procedimentos de rejeição corretos (e muito mais rápido):
halt -f
: especificando a opção-f
(observe que você precisa -f
evitar o procedimento de desligamento) com o comando acima, com sudo poweroff -f
ou talvez até com sudo reboot -f -h
. De fato, podemos ler man reboot
(e equivalentes) sobre a necessidade de especificar a opção -f
para evitar o encerramento:
Quando chamada com --force ou no nível de execução 0 ou 6, essa ferramenta chama a própria chamada de sistema reboot (2) (com o argumento REBOOTCOMMAND passado) e reinicia o sistema diretamente .
Caso contrário, isso simplesmente chama a ferramenta shutdown (8) com os argumentos apropriados sem passar o argumento REBOOTCOMMAND.
-f, --force
Não chama shutdown (8) e, em vez disso, executa a ação real que você esperaria do nome .
Além disso, você pode usar telinit
[ 2b ] (ou init
diretamente)
sudo telinit 0 # or 6
dizer ao init para alterar o nível de execução ... mas se sim, por que não o mata diretamente?
Em systemd, você pode usar a opção dupla imprudente --force --force
systemctl --force --force poweroff
Leitura do manual do systemctl [ 10 ]
-f, --force
Quando usado com enable, substitui os links simbólicos conflitantes existentes.
Quando utilizado com halt
, poweroff
,reboot
ou kexec, executar a operação seleccionada sem desligar todas as unidades. No entanto, todos os processos serão eliminados à força e todos os sistemas de arquivos são desmontados ou remontados somente leitura. Portanto, é uma opção drástica, mas relativamente segura, para solicitar uma reinicialização imediata. Se --force for especificado duas vezes para essas operações, elas serão executadas imediatamente sem encerrar nenhum processo ou desmontar nenhum sistema de arquivos. Aviso: especificar --force duas vezes com qualquer uma dessas operações pode resultar em perda de dados.
Ps> Inspire-se nas variantes da cauda JdeBP The Bard [ 7 ] .