Seria mais seguro fazer um Alt + SysRq + ( R , E , I , S , U , B ou O ) que forçar uma reinicialização hard .
- R Muda o teclado do modo raw para o modo XLATE
- E SIGTERM tudo exceto init
- I SIGA tudo exceto init
- S Sincroniza os sistemas de arquivos montados
- U Remonta os sistemas de arquivos montados no modo somente leitura
- B Reinicie o sistema, ou O Desligue o sistema
Você poderia apenas Alt + SysRq + B / O reinicializar / parar se realmente quisesse, mas você colocaria seus sistemas de arquivos em risco ao fazê-lo. Fazer todas as opções acima é relativamente seguro e deve funcionar mesmo quando o resto do sistema estiver quebrado.
Este é essencialmente o mesmo método que você está falando em seus comandos, mas eu não tenho certeza se você poderia fazer o script do E e I (pois eles irão neutralizar o seu acesso ao terminal). Mas você definitivamente poderia manipular o acesso ao disco e reinicializar ou desligar.
for i in s u b; do echo $i | sudo tee /proc/sysrq-trigger; sleep 5; done # reboot
for i in s u o; do echo $i | sudo tee /proc/sysrq-trigger; sleep 5; done # halt
Você ainda pode perder dados de aplicativos em execução, mas não precisa melhorar seu sistema de arquivos. Se você tiver caches de gravação de disco particularmente grandes, talvez seja melhor aumentar o valor sleep
.