Eu só quero saber a diferença entre em
reboot
init 6
shutdown -r now
e qual é o mais seguro e o melhor?
Eu só quero saber a diferença entre em
reboot
init 6
shutdown -r now
e qual é o mais seguro e o melhor?
Respostas:
Não há diferença neles. Internamente, eles fazem exatamente a mesma coisa:
reboot
usa o shutdown
comando (com a opção -r). O comando shutdown usado para matar todos os processos em execução, desmontar todos os sistemas de arquivos e finalmente diz ao kernel para emitir o comando power da ACPI. A fonte pode ser encontrada aqui . Nas distros mais antigas, o comando reboot estava forçando os processos a sair emitindo o SIGKILL
sinal (ainda encontrado nas fontes, pode ser chamado com a -f
opção); nas distros mais recentes, o padrão é o mais gracioso e o mais amigável para iniciantes init 1 -> shutdown -r
. Isso garante que os daemons se limpem antes do desligamento.
init 6
informa ao init
processo para encerrar todos os processos / daemons gerados conforme gravados nos arquivos init (na ordem inversa em que foram iniciados) e, por último, invocar o shutdown -r now
comando para reiniciar a máquina
Hoje não há muita diferença, pois os dois comandos fazem exatamente o mesmo, e eles respeitam os scripts init usados para iniciar serviços / daemons, invocando os scripts de encerramento para eles. Exceto reboot -f -r now
conforme indicado abaixo
Há uma pequena explicação tirada das páginas de manual sobre por que o reboot -f
não é seguro:
-f, --force Forçar parada imediata, desligamento, reinicialização. Não entre em contato com o sistema init.
Editar:
Esqueci de mencionar, nas próximas distribuições RHEL, você deve usar o novo systemctl
comando para emitir poweroff / reboot. Conforme declarado nas páginas de manual reboot
e shutdown
eles são "um comando legado disponível apenas para compatibilidade". e o systemctl
método será o único seguro.
init 1 -> shutdown -r
?
O desligamento é preferível, pois permite especificar o motivo da ação drástica - algo que você deve sempre fazer. A mensagem será gravada no (s) log (s) para posteridade. Por exemplo:
shutdown -r now 'Kernel upgrade requires reboot'
Você também pode executar uma reinicialização agendada - especificando algo diferente do now
horário da reinicialização:
shutdown -r 22:00 'Work around kernel memory leak'
Seus usuários receberão lembretes periódicos para serem divulgados à medida que o tempo se aproxima - o processo será mais organizado e profissional.
Em unices tradicionais, reboot
e shutdown -r now
são comandos muito diferentes. Sob uso típico, reboot
é seguro apenas para uso no modo de usuário único.
shutdown -r now
é o método canônico para desligar diferentes nix's e é mais seguro de usar em geral e é funcionalmente equivalente a init 6
.
No FreeBSD há uma diferença entre reboot
e shutdown -r now
. Na reboot
página do manual:
Normalmente, o utilitário shutdown (8) é usado quando o sistema precisa ser interrompido ou reiniciado, dando aos usuários um aviso prévio de sua destruição iminente e finalizando programas específicos de forma limpa.