Como desligar ou reiniciar corretamente um servidor Unix / Linux


11

Qual é a maneira correta de desligar um servidor Unix / Linux?

Com o meu Google, aprendi (espero) o seguinte:

shutdown : devo usar isso, com o parâmetro -h para interromper ou o parâmetro -r para reiniciar

parar : interrompe o computador (para o processador? isso desliga fisicamente a energia do computador?). Eu acho que isso vai chamar de desligamento, se não no init0, caso contrário, apenas pára.

reboot : se não estiver no init6, chama o desligamento; caso contrário, apenas reinicia o computador.

se tudo estiver correto, a única coisa que não consigo descobrir é o que exatamente 'parar' faz. Apenas interrompe o processador, mas não desliga o computador fisicamente? Como faço para "desligar" o computador?

obrigado

Respostas:


13

shutdown -h nowdesligará o computador com a maioria dos sistemas, mas ficará por conta da implementação. Use -Ppara desligar com certeza e -Hparar com certeza. Este é o método que eu recomendaria para desligar o sistema. Ele executará todos os scripts adequados.

haltsem -fapenas chamará o desligamento acima e também o serão reboot, basicamente são apenas aliases.


Eu sou um grande fã de / sbin / shutdown -h (-r) agora. usando "parar" sempre me assustou.
RateControl

1
Thoreau faz outro bom ponto: você deve criar o hábito de chamar comandos importantes do sistema com um caminho explícito (por exemplo, / sbin / shutdown). Isso pode economizar se seu sistema estiver comprometido e você não estiver ciente disso.
21740 Ryan Fisher3 de

1
mystikphish: Concordo, vou adotar esse hábito. Embora ele tenha um bom argumento, não sei se confiaria nos conselhos dele sobre TI em geral, se ele passar o tempo todo em uma cabine de um cômodo sem eletricidade.
Kyle Brandt

Seria um mau compromisso se não mudar o executável no caminho que está enraizado em seus dedos embora ...
asjo

@ Kyle Brandt, legal.
23411 Joseph Kern

3

No Linux, eu sempre usei reboote halt, embora também conheça pessoas que acham haltassustadoras. halt(8)meio que diz o porquê:

Em versões mais antigas do sysvinit, reinicialização e parada nunca devem ser chamadas diretamente. A partir da liberação 2.74 na parada e reinicialização, invoque shutdown (8) se o sistema não estiver no nível de execução 0 ou 6. Isso significa que se a interrupção ou reinicialização não puder descobrir o nível de execução atual (por exemplo, quando / var / run / utmp não tiver inicializado corretamente) o desligamento será chamado, o que pode não ser o que você deseja. Use o sinalizador -f se desejar fazer uma parada forçada ou reiniciar.

O sysvinit 2.74 é datado de 17 de março de 1998 às 21:53. :)

Em relação à sua pergunta sobre como desligar, você pode usar poweroffou halt -p. Os sistemas Linux mais recentes parecem desligar apenas haltou shutdown -htambém.


Solaris ainda está na multidão onde 'parar' faz coisas assustadoras.
214 Karl Karlzzzz


1

Eu geralmente uso (como o usuário root, é claro):

 init 0

para colocar o sistema no estado desligado. Isso executa scripts de resumo.

 init 6

derrubar o sistema e reiniciá-lo automaticamente. Isso também executa scripts de resumo.


1
O halt também executaria todos os initscripts com o parâmetro "stop".
hayalci

1
Em que sistema não pára bem?
asjo 3/08/09

2
Com base nos dois comentários acima, editei minha nota para remover meu comentário final. No entanto, verifiquei no FreeBSD 7.2, e o Solaris 10 5/2009 x86, executando o comando simple halt nesses dois sistemas, NÃO ativará a sequência de resumo padrão. No entanto, no CentOS 5.3, openSUSE 11.1 e Fedora 11 o comando halt se envolve a seqüência resumo padrão e atua basicamente como o init 0. FYI ....
MDPC

0

Vale a pena notar aqui:

O Solaris precisa "shutdown -y -i5 -g0" para desligar ou "shutdown -y -i6 -g0" para reiniciar. Parar ou reiniciar no Solaris deve ser usado apenas quando for aceitável não emitir um aviso ou período de carência antes de você começar a desligar as coisas ... isso pode causar estragos nos sistemas de disco se você não os desmontar antes de desligar, y 'conhecer?

É melhor adotar procedimentos que sejam melhores para os sistemas operacionais em que você toca diariamente, para não estragar acidentalmente algo ruim às 2 da manhã com os dedos no piloto automático.

Por exemplo, nunca digite 'killall' no solaris, enquanto esse é um comando bastante comum no linux. 'pkill' funciona da mesma forma em ambos.


0

Para desligá-lo imediatamente, digite:

shutdown -h now 

e para desligá-lo imediatamente e reiniciar o tipo:

shutdown -r now

1
Acho que essa é a melhor resposta, não sei por que a votação diminuiu.
Basil A
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.