Não encontrei uma resposta clara para as diferenças entre as duas opções do comando shutdown.
É haltigual shutdown -He poweroffigual a shutdown -P?
Não encontrei uma resposta clara para as diferenças entre as duas opções do comando shutdown.
É haltigual shutdown -He poweroffigual a shutdown -P?
Respostas:
É um pouco histórico.
haltfoi usado antes da ACPI (que hoje desligará a energia para você) *. Ele interromperia o sistema e, em seguida, imprimiria uma mensagem com o efeito "está tudo bem em desligar agora". Naquela época, havia interruptores físicos de ligar / desligar, em vez do botão de energia controlado por ACPI dos computadores modernos.
poweroff, naturalmente, interromperá o sistema e desligará a ACPI.
* Hoje em dia halté inteligente o suficiente para ligar automaticamente poweroffse a ACPI estiver ativada. De fato, eles são funcionalmente equivalentes agora.
/sbin/poweroffexiste um link simbólico para /sbin/halt.
shutdown. O comando é halto mesmo que shutdown -H, e o comando é poweroffo mesmo que shutdown -P? @phunehehe também.
haltcostumava fazer exatamente isso. Sem desligamento ordenado, basta parar o que a máquina estava fazendo naquele momento. Era comum emitir sync;sync;sync;haltpara garantir que todos os buffers tivessem sido gravados no disco.
Eles não são a mesma coisa, apenas muito intimamente relacionados. Na prática, a menos que você deseja especificar um determinado tempo para desligar ou para forçar uma reinicialização imundo / parar / desligar imediata, isso realmente não importa se você executa shutdown -hou halt... ou shutdown -rvs reboot. As coisas não eram tão convenientes no passado, mas é assim que funciona agora (muitas das oportunidades de ambiguidade ou erro do usuário foram removidas / suavizadas).
/sbin/shutdownfaz várias coisas de "limpeza", como notificar os usuários, bloqueando novos logins enquanto o sistema está sendo desligado. Também pode ser dito para desligar o sistema em um determinado momento ou em XX minutos - avisando os usuários conectados de vez em quando sobre o desligamento iminente.
Ele também altera o nível de execução para 0( halt/ poweroff) ou 6( reboot), que aciona o sistema para interromper os serviços em execução, desmontar discos, etc., em preparação para a parada, desligamento ou reinicialização real.
Quando tudo o que é feito, em seguida, chama /sbin/halt, /sbin/rebootou /sbin/poweroff( reboote poweroffgeralmente são links simbólicos para halt, que interpreta como halt -re halt -Prespectivamente).
Observe, no entanto, que se halt/ reboot/ powerofffor chamado quando o sistema NÃO estiver no nível de execução 0ou 6eles serão chamados shutdownpara executar seu trabalho, a menos que a opção -fou forceseja usada.
(Os detalhes de como os níveis de execução-são interpretados pode variar de distribuição para distribuição, mas 0e 6são utilizados como descrito aqui no Debian e Debian derivados como Ubuntu).
Veja as páginas de manual para shutdowne haltpara mais informações.
Por fim, a distinção entre halte poweroffestado é que halttudo faz para realmente desligar a máquina (em alguns tipos de hardware, isso significa que ele entra em um gerenciador de inicialização ROM ou similar. Na maioria dos hardwares para PC, ele pára), enquanto poweroffconclui a etapa final e desligue. reboot, é claro, chega ao estado de parada e reinicia o computador.
BTW, o padrão é tipicamente um poweroffou outro reboot, mas você pode usar -Hcomo argumento shutdownpara fazê-lo parar. Isso não é muito útil em caixas Linux baseadas em PC (mas é útil em máquinas, como caixas sparc, que possuem um monitor de inicialização de firmware. É possível que possa se tornar útil em máquinas mais novas com uma linha de comando EFI).
shutdowncomandos têm a noção de níveis de execução. shutdownprincipalmente não invoca halt/ reboot/ poweroff; Ironicamente, é em alguns sistemas não Linux onde essa sabedoria recebida ainda permanece verdadeira hoje. E onde os links simbólicos apontam não é necessariamente halt; não apenas isso, em alguns conjuntos de ferramentas eles não são links simbólicos . Consulte unix.stackexchange.com/a/196471/5132 para obter mais detalhes.