Supondo que você acabou de digitar o comando shutdown -h now
(ou algo equivalente), existe algo realista que você pode fazer (se você for rápido o suficiente) para impedir que a máquina seja desligada?
Supondo que você acabou de digitar o comando shutdown -h now
(ou algo equivalente), existe algo realista que você pode fazer (se você for rápido o suficiente) para impedir que a máquina seja desligada?
Respostas:
Você pode executar shutdown -c
para cancelar um desligamento já em execução.
ctrl+c
ctrc+c
e shutdown -c
. Mas, dada a velocidade da -now
opção e não o irmão programado, ctrl+c
seria o caminho mais rápido para esse fim. Eu não acreditava que você pudesse parar um desligamento imanente, ainda mais surpreso por poder interrompê-lo, mas aparentemente você pode, mas é uma corrida como você afirmou.
Se você for rápido o suficiente, poderá emitir um init 2
(ou qualquer nível de execução que desejar) e isso provavelmente interromperá o desligamento. Qualquer coisa que envolva matar o comando shutdown falhará, pois o comando é executado muito rapidamente
Eu tentei isso com o script abaixo e ainda não é rápido o suficiente para parar o desligamento
#!/bin/bash
shutdown -h now
shutdown -c "Aborting Shutdown"
Broadcast message from iain@iain-ubuntu
(/dev/pts/0) at 16:50 ...
The system is going down for halt NOW!
shutdown: Cannot find pid of running shutdown
Onde interativamente
shutdown -h now
init 2
o sistema permanece ativo.
Na página do manual do FreeBSD:
Um desligamento agendado pode ser cancelado matando o processo de desligamento (um SIGTERM deve ser suficiente).
Então killall shutdown
funciona no BSD quando há um desligamento programado (por exemplo shudown -h +5
).
Não acho viável cancelar um desligamento imediato ( shutdown -h now
) no cenário da vida real.
shutdown -h now
, acredito que você perde o acesso à linha de comando imediatamente da mesmahalt -p
forma que não há muito o que fazer.