"Shutdown now" o "shutdown -h now" per spegnere Raspberry Pi?


12

Sono nuovo su Linux (usando Raspbian) e Raspberry Pi, e mi chiedo quale dei due comandi menzionati nel titolo che dovrei usare quando spengo il mio Pi. Li ho cercati su Google ma non riesco ancora a capire la differenza tra i due, importa quale utilizzo?

Risposte:


13

Prova a digitare man shutdown. Le pagine man offrono un elenco completo delle opzioni che un comando può prendere e una spiegazione di ciò che fanno. Nel caso di -h:

-h Richiede che il sistema sia arrestato o spento dopo che è stato disattivato, con la scelta su quale lasciato al sistema.

La differenza tra l'inclusione -hdell'opzione o meno, è lieve, ed è irrilevante in questo caso, poiché non è possibile spegnere il Pi comunque, non senza rimuovere manualmente l'alimentazione USB.


5

La documentazione è in man shutdown. 1

-P, --poweroff
           Power-off the machine (the default).

[...]

-h
           Equivalent to --poweroff, unless --halt is specified.

A volte i comandi hanno switch apparentemente ridondanti come questo perché devono soddisfare le specifiche per diversi contesti. La logica semplice ci dice che dato che poweroffè comunque l'impostazione predefinita, l'utilizzo -hè esso stesso ridondante (di nuovo, esiste per soddisfare una specifica esterna; alcune implementazioni shutdownpotrebbero non funzionare in questo modo per impostazione predefinita, ma tutte quelle conformi verranno implementate -h).

Poiché il pi stesso non può spegnersi (o è collegato == acceso o no), non ha senso utilizzare poweroff, ma non causerà alcun danno. Potrebbe fare la differenza WRT nel modo in cui il LED rosso lampeggia alla fine (puoi confrontare con shutdown -Hper vedere). Si noti che lo scopo principale di shutdownè arrestare (arrestare) l'esecuzione del sistema operativo.

Quindi puoi usare entrambi i moduli.


1. Questo in realtà è di Raspbian jessie e viene fornito con systemd; è leggermente diverso dall'arresto in Raspbian wheezy (la risposta di Greenonline lo cita), che è un esempio di ciò che menzionerò nel prossimo paragrafo su diverse implementazioni che soddisfano le stesse specifiche. Il processo di spegnimento in realtà fa parte del sistema init , che è SysV su wheezy e systemd su jessie.


1

preferisco

sudo halt

Non ricordo perché ho scelto questo, ma, per qualsiasi motivo, altri comandi causano problemi. Funziona perfettamente. Riavviare:

sudo restart

2
Se si esegue solo una haltche potrebbe causare la perdita di dati. Una pratica molto migliore sarebbe sudo sync;sync;halt, poiché questo sincronizza l'archiviazione dei dati (cioè i dischi rigidi, la scheda SD), con tutti i dati memorizzati nella cache non scritti ancora in memoria, prima di arrestare il sistema.
Greenonline,

2
@Greenonline, se esegui un halt runlevel 0 o 6 , potrebbe causare la perdita di dati. A qualsiasi altro runlevel, è equivalente a shutdown -h now.
Mark,

1
Perché gli utenti tendono a ignorare l'esistenza del comando "init" su sistemi operativi unix-like? init 0per spegnere, init 6riavviare
rkosegi,

@Greenonline, @Mark, da ora in poi userò shutdown -h now, non avevo capito che haltera pericoloso!
otah007,
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.