Perché non viene eseguito "sudo shutdown now" spento?

78

Quando rilascio il seguente:

sudo shutdown now

.. il mio nuovo server Ubuntu 14.04 appena commissionato non si spegne. Si interrompe con il seguente messaggio:

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

Se scrivo la password di root, la macchina rimane semplicemente lì al prompt della shell.

    
posta Jon Cage 26.01.2015 - 21:18

4 risposte

128

Tradizionalmente, il comando sudo shutdown now ti porterà al runlevel 1 (modalità di recupero); questo accadrà sia per Upstart che per SysV init. Per ottenere ciò che desideri, ovvero, per arrestare correttamente il computer, devi impostare -h su shutdown .

Una cosa da notare qui è che halt chiuderà tutti i processi, spegnerà le CPU e restituirà il controllo a un monitor ROM della scheda madre che richiede all'utente di premere il pulsante di accensione per spegnere l'alimentazione, mentre poweroff dopo aver spento le CPU si spegne semplicemente l'alimentazione elettrica causando uno spegnimento corretto.

L'interruttore -h di shutdown sarà halt o poweroff del computer, la decisione sarà presa dal sistema sebbene in Ubuntu ho visto che normalmente sarebbe poweroff della macchina. Per essere sicuri di ciò, puoi utilizzare l'interruttore -P con shutdown su poweroff del computer.

Per riassumere, ecco i comandi disponibili per poweroff ( not halt ) un computer:

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

I comandi poweroff e halt fondamentalmente invocano shutdown (eccetto per poweroff -f ). sudo poweroff e sudo halt -p sono esattamente come sudo shutdown -P now . Il comando sudo init 0 ti porterà al runlevel 0 ( shutdown ).

Che cosa succede se si desidera arrestare forzatamente, ovvero, non si desidera attendere che i processi si chiudano normalmente? In quel caso puoi usare:

sudo poweroff -f

Questo non utilizzerà shutdown . Piuttosto, invocherà la chiamata di sistema reboot(2) (utilizzata per il riavvio, spegnimento e spegnimento) per spegnere il computer istantaneamente.

    
risposta data heemayl 26.01.2015 - 21:42
15

Sono abbastanza sicuro che il comando corretto deve contenere l'opzione "-h" (halt). Prova questo:

sudo shutdown -h now
    
risposta data pille1842 26.01.2015 - 21:22
5

È un'eredità dei giorni in cui la macchina fisica non poteva spegnersi da sola. Ad esempio, il comando halt sudo halt termina tutti i programmi e scarica quasi tutto dalla RAM, ready per essere spento. Tuttavia, se esegui sudo halt -p , eseguirà tutto ciò, quindi segnalerà al sistema di spegnersi o, nel caso del comando shutdown , avrai bisogno dell'opzione -a , credo, sebbene io personalmente utilizzi% % co_de.

    
risposta data John Cave 27.01.2015 - 01:11
-1

Ho sempre usato il seguente

sudo shutdown -a now

o per riavviare immediatamente dopo l'arresto

sudo shutdown -r now

Osservando l'opzione di guida all'arresto non elenca -a come un comando appropriato, ma avrei giurato molto tempo fa -un aborto o qualcosa del genere. Comunque ho continuato a usarlo e ha funzionato per tutti questi anni, ma sembra che shutdown -h ora sia l'opzione corretta.

    
risposta data NPIC 27.01.2015 - 00:16

Leggi altre domande sui tag