Por que a execução do “sudo shutdown now” não é desligada?


87

Quando emito o seguinte:

sudo shutdown now

..o servidor Ubuntu 14.04 recém-comissionado não é desligado. Para com a seguinte mensagem:

* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):

Se eu digitar a senha root, a máquina simplesmente fica lá no prompt do shell.



5
Fechar eleitores: Esta não é uma cópia. Enquanto as perguntas são semelhantes, esta pergunta sobre um comando específico, a outra é uma maneira geral de desligar a máquina da linha de comando.
Seth

Respostas:


138

Tradicionalmente, o comando sudo shutdown nowleva você ao nível de execução 1 (modo de recuperação); isso acontecerá para o Upstart e o SysV init. Para obter o que deseja, ou seja, desligar o computador corretamente, você precisa -hmudar shutdown.

Uma coisa a ser observada aqui é que haltfechará todos os processos, desligará as CPUs e retornará o controle para um monitor ROM da placa principal, necessitando que o usuário pressione o botão liga / desliga para desligar a fonte de alimentação, enquanto poweroffapós desligar as CPUs simplesmente desligará a fonte de alimentação, resultando em um desligamento adequado.

A -htroca de shutdownvontade haltou poweroffo computador, a decisão será tomada pelo sistema, embora no Ubuntu eu tenha visto que normalmente seria poweroffa máquina. Para ter certeza de que, você pode usar o -Pinterruptor com shutdowna poweroffdo computador.

Para resumir, aqui estão os comandos disponíveis para poweroff( não halt ) um computador:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

Os comandos poweroffe haltinvocam basicamente shutdown(exceto o poweroff -f). sudo poweroffe sudo halt -psão exatamente iguais sudo shutdown -P now. O comando sudo init 0levará você ao nível de execução 0 ( desligamento ).

Agora, e se você quiser desligar com força, ou seja, não quiser esperar que os processos sejam fechados normalmente? Nesse caso, você pode usar:

sudo poweroff -f

Isso não vai usar shutdown. Em vez disso, ele chamará a reboot(2)chamada do sistema (usada para reinicialização, desligamento e interrupção) para desligar o computador instantaneamente.


2
Ou então, combine shutdown 'now' com 'poweroff':sudo shutdown -P now
david6 27/01

3
O que você quer dizer com "desligamento forçado"? De acordo com uma página de manual , a -fopção apenas pula fsckna reinicialização. E de acordo com a página de manual do Ubuntu, não existe essa opção.
Ruslan

1
@Ruslan: Talvez confunda com halt -f/ poweroff -f, que ignora o init e diz ao kernel diretamente para cortar energia. Isso é forte.
grawity

1
Meu laptop, obrigado! Na verdade, eu estava desligado e sempre usando o botão liga / desliga, mas agora eu sei! A parada estava mantendo meu sistema ligado, mas o desligamento realmente o desliga. Muito Obrigado! :-)
Terrance

1
@RGG Eu recomendo que você execute syncantes deste comando, pois esse comando ignora qualquer coisa que ainda possa estar no cache. syncforçará gravações em cache no disco, e você poderá desligá-lo.
Terrance

15

Tenho certeza de que o comando correto precisa conter a opção "-h" (halt). Tente o seguinte:

sudo shutdown -h now

6

É um legado dos dias em que a máquina física não podia desligar sozinha. Por exemplo, o comando halt sudo haltencerra todos os programas e descarrega quase tudo da RAM, pronto para ser desligado. No entanto, se você executar sudo halt -p, ele fará tudo isso e, em seguida, sinalizará o desligamento do sistema ou, no caso do shutdowncomando, você precisará da -aopção, acredito, embora eu use pessoalmente halt.


O que acontece se eu sempre desligar o PC com este comando?
Nullpointer 27/12/16

-1

Eu sempre usei o seguinte

sudo shutdown -a now

ou para reiniciar imediatamente após o desligamento

sudo shutdown -r now

Olhando para a opção de ajuda do desligamento, ela não lista - um como um comando adequado, mas eu poderia jurar há muito tempo - um abortamento ou algo assim. De qualquer forma, continuei usando isso e funcionou todos esses anos, mas parece que o desligamento -h agora é a opção correta.


1
Talvez você esteja pensando no comando do Windows shutdown /a, que interrompe um desligamento (equivalente ao shutdown -cUbuntu).
deltab 27/01

Deltab @ Sim, deve ser o que eu estou pensando então. Estranho que o desligamento -a funcione para mim.
NPIC
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.