Não há melhor maneira de reiniciar o servidor usando qualquer outra coisa além de qualquer um desses comandos.
- O desligamento é a maneira mais comum de parar o sistema. Adicionar o argumento
-r
e um horário específico (ou ' now
') reiniciará o sistema em vez de interrompê-lo após a sequência de desligamento.
- reboot é um encerramento de invólucro que faz alguma manutenção no disco rígido (sincronizando e / ou colocando no modo de espera e não é realmente relevante).
- Novas versões de
reboot
(> 2.74) serão iniciadas shutdown
se não estiverem no nível de execução 0 ou 6.
- A maioria dos scripts init chama halt para fazer logon utmp .
As distribuições modernas terão todas as tarefas cobertas, independentemente do comando que você está usando. Basicamente, todos eles iniciam o tempo de execução do desligamento dos scripts SysV (CentOS <7) ou systemd (CentOS> = 7) (os chamarei de scripts init para facilitar a leitura).
O desligamento usando scripts init passo a passo interrompe todos os seus serviços registrados no nível de execução geralmente 'S'. Os scripts init individuais podem ter um tempo limite, como o script init do MySQL no CentOS. Quando o argumento de parada é fornecido e o daemon não será encerrado em uma quantidade razoável de tempo, o script será interrompido e sairá causando uma falha. O processo de desligamento continuará como se nada estivesse errado, demorando um pouco mais e provavelmente imprima um aviso. No final, quando todos os scripts init forem executados, o inevitável acontecerá: todos os processos ainda em execução receberão um SIGTERM
sinal e, após alguns segundos (2 ou 5), a SIGKILL
. Isso limpará o restante antes que uma chamada ACPI seja feita para realmente reiniciar ou desligar o sistema.
Uma exceção é usar o reboot
comando com a -f
opção, isso ignorará a execução de scripts init e reiniciará o sistema diretamente.
Você estará melhor corrigindo a causa raiz de suas preocupações: o MySQL não está sendo desligado corretamente.
Geralmente, isso ocorre devido à carga massiva de trabalho que precisa ser feita antes que o daemon possa ser encerrado com segurança. Certa vez, tive uma instância do MySQL com +300.000 tabelas que levaram mais de uma hora para sair. Problemas semelhantes podem ser encontrados em sistemas que usam buffers enormes e disponibilidade de E / S esparsa.
reboot
é essencialmente um apelido parashutdown -r
... então ... sim.