Arrestare è uguale a "spegnimento -H" e spegnimento è uguale a "spegnimento -P"?


Risposte:


26

È un po 'storico.

haltè stato utilizzato prima di ACPI (che oggi spegnerà l'alimentazione) *. Arresterebbe il sistema e quindi stamperebbe un messaggio con l'effetto di "spegnere adesso". All'epoca c'erano interruttori on / off fisici, piuttosto che il combo pulsante di accensione controllato ACPI dei computer moderni.

poweroff, arresterà naturalmente il sistema e quindi spegnerà ACPI.

* In questi giorni haltè abbastanza intelligente da chiamare automaticamente poweroffse ACPI è abilitato. In effetti, ora sono funzionalmente equivalenti.


Interessante: sul mio laptop che esegue Gentoo, /sbin/poweroffè un link simbolico a /sbin/halt.
phunehehe

Grazie bahamat! Sto parlando di due opzioni per il comando shutdown. Comando è haltuguale a shutdown -H, e comando poweroffuguale a shutdown -P? @phunehehe too.
StackExchange per All

@phunehehe: Sì, ero abbastanza sicuro che fossero uguali adesso, ma non mi sono preoccupato di guardare.
Bahamat,

@Tim: Sì, quei flag sono gli stessi della chiamata al comando. Come ho detto, è praticamente una differenza storica.
Bahamat,

1
In haltpassato , era solito fare proprio questo. Nessun arresto ordinato, basta interrompere ciò che la macchina stava facendo in quel momento. Era comune emettere un problema sync;sync;sync;haltper assicurarsi che tutti i buffer fossero stati scritti su disco.
Kurtm,

15

Non sono la stessa cosa, solo strettamente collegati. In pratica, a meno che non si desidera specificare un particolare momento di spegnere o per forzare un immediato impuro reboot / halt / spegnimento, in realtà non importa se si esegue shutdown -ho halt... o shutdown -rvs reboot. Le cose non erano così comode in passato, ma questo è il modo in cui funziona ora (molte opportunità di ambiguità o errori dell'utente sono state rimosse / appianate).

/sbin/shutdownesegue molte operazioni di "pulizia" come la notifica agli utenti, il blocco di nuovi accessi mentre il sistema si sta spegnendo. Si può anche dire di arrestare il sistema in un determinato momento o entro XX minuti - avvisando gli utenti che hanno effettuato l'accesso ogni tanto in caso di arresto imminente.

Cambia anche il runlevel in 0( halt/ poweroff) o 6( reboot) che innesca il sistema per arrestare i servizi in esecuzione, smontare i dischi, ecc. In preparazione dell'effettivo arresto, spegnimento o riavvio.

Al termine, chiama /sbin/halt, /sbin/rebooto /sbin/poweroff( reboote di poweroffsolito sono collegamenti simbolici a halt, che li interpreta come halt -re halt -Prispettivamente).

Si noti, tuttavia, che se halt/ reboot/ poweroffviene chiamato quando il sistema NON è in runlevel 0o 6quindi chiamerà shutdownper fare il suo lavoro a meno che non venga utilizzata l' opzione -fo force.

(I dettagli di come livelli di esecuzione vengono interpretati possono variare da distribuzione a distribuzione, ma 0e 6sono utilizzati come descritto qui in Debian e Debian-derivati come Ubuntu).

Vedi le pagine man per shutdowne haltper maggiori informazioni.

Infine, la distinzione tra halte poweroffstate è che haltfa tutto fino allo spegnimento effettivo della macchina (su alcuni tipi di hardware questo significa che cade in un bootloader ROM o simile. Sulla maggior parte dell'hardware del PC si ferma), mentre poweroffcompleta l'ultimo passaggio e spegne. reboot, ovviamente, passa allo stato di arresto e quindi riavvia il computer.

A proposito, il valore predefinito è in genere o poweroffo reboot, ma è possibile utilizzare -Hcome argomento per shutdownarrestarlo invece. Questo non è molto utile su scatole Linux basate su PC (ma è utile su macchine, come le scatole sparc, che hanno un monitor di avvio del firmware. È possibile che possa essere utile su macchine più recenti con una riga di comando EFI).


1
Questa è una risposta fortemente incentrata su Linux a una domanda specifica del sistema operativo. Non tutti i shutdowncomandi hanno la nozione di livelli di esecuzione. shutdownper lo più non invoca halt/ reboot/ poweroff; ironia della sorte è su alcuni sistemi non Linux dove questa saggezza ricevuta rimane ancora vera oggi. E dove i collegamenti simbolici indicano non è necessariamente halt; non solo, in alcuni set di strumenti non sono affatto collegamenti simbolici . Vedi unix.stackexchange.com/a/196471/5132 per maggiori dettagli.
JdeBP,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.