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 -cpara cancelar um desligamento já em execução.
ctrl+c
ctrc+ce shutdown -c. Mas, dada a velocidade da -now opção e não o irmão programado, ctrl+cseria 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 shutdownfunciona 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 -pforma que não há muito o que fazer.