Ouvi dizer que "shutdown -h now" não é um comando de desligamento normal porque faz algo semelhante a "kill -9" para todos os processos, em oposição a "kill -15".
Isso é verdade? Em caso afirmativo, qual é a maneira mais graciosa de desligar para garantir que tudo tenha tempo de se limpar depois de si mesmo?
Ps Usando principalmente o CentOS, Ubuntu e Debian.
man shutdown
). Isso explica isso completamente.Respostas:
shutdown -h now
ligará/etc/rc.d/rc
ou/etc/init.d/rc
. Orc
script chamará os scripts kill para o novo nível de execução (0 para-h
, 6 para-r
), seguido por qualquer script de início.Você verá
S30killprocs
ouS00killall
ou algo assim, dependendo da sua distro. Isso ocorre depois que todos os scripts de interrupção foram chamados para tentar parar cada serviço normalmente. Ele tentarákill -15
primeiro, seguido porkill -9
.Resposta curta:
shutdown -h now
oushutdown -r now
são graciosas.halt
ereboot
costumava ser discreto, mas eles ligamshutdown
para você, a menos que você use a-f
opção.fonte
Não, isso não é verdade.
shutdown
altera o nível init, que executa todos os scripts de desligamento. O que esses scripts fazem depende do script. Mas eles normalmente não encerram processos, mas enviam o sinal para que terminem.Portanto, este é o trecho do manual para
shutdown
:fonte