
Se eu quiser desligar meu sistema em 30 minutos com o telinit, como posso fazer isso? Eu sei que desligar é mais fácil, mas só por saber.
Responder1
Usandoat
:
at now + 30 minutes <<<'telinit 0'
Ou use sleep 30m; telinit 0
.
telinit
por si só não pode fazer isso. Você terá que usar outras ferramentas em combinação. at
e sleep
ambos permitem cancelar a operação (com atrm
for at
e CtrlCpara o outro).
Responder2
# telinit 0
O nível de execução 0 é o modo de parada. Dizer ao init para entrar no nível de execução 0 fará com que todos os processos sejam encerrados, os sistemas de arquivos desmontados e a máquina interrompida. Esta é uma forma perfeitamente aceitável de derrubar o sistema. Em muitos laptops e computadores desktop modernos, isso também fará com que a máquina seja desligada.Fonte
Extra caso alguém se pergunte sobre a reinicialização:
# telinit 6
O nível de execução 6 é o modo de reinicialização. Todos os processos serão eliminados, os sistemas de arquivos serão desmontados e a máquina será reinicializada. Este é um método perfeitamente aceitável de reinicializar o sistema.Fonte
Para executar algo no futuro temos o comando “at”. Isso seria:
# at now+30 minutes <<<'telinit 0'
ou dormir:
# sleep 1800 && telinit 0
(1800 segundos)
Responder3
Como sugestão, não abordando diretamente sua pergunta. Mesmo at
o comando não é instalado por padrão e sleep
com telinit é uma ótima opção: Se você quiser tentar outra ferramenta diferentetelinit, você poderia tentarreiníciocomno:
echo reboot | at now +30 m