Come posso spegnere il mio Raspberry Pi?


246

Devo solo staccare la spina? O è meglio se esco prima da LXDE e da altri processi in esecuzione?


45
Ovviamente
spengo il

11
sudo halt -plo farà.
Thorbjørn Ravn Andersen,

12
mi piacerebbe vedere un "how-to" per un pulsante rigido collegato a GPIO per dire al sistema operativo di spegnersi.

20
Le persone che stanno semplicemente estraendo energia da sotto i loro Pi dovrebbero davvero smettere di farlo. Ho avuto due installazioni complete di Rasbian che iniziano il panico del kernel a causa di file system corrotti da arresti impropri (ad esempio, tirando la potenza). Ho dovuto ri-immagine della scheda in entrambi i casi e rifare tutto il lavoro che ho fatto per configurarlo.
tavis,

3
@tavis - Quando hai una buona configurazione di cui sei soddisfatto, dovresti davvero eseguirne il backup con qualcosa come Win23 Disk Imager. Leggero, gratuito, ecc., Manterrà una copia esatta dell'intero sistema operativo di Raspberry Pi, quindi sei sempre e solo un viaggio veloce a Best Buy lontano da un Pi completamente ripristinato, supponendo che il problema sia un errore del disco o una configurazione errata: -).
GojiraDeMonstah,

Risposte:


250

Non vorrai assolutamente staccare la spina. Ciò può causare problemi con la scheda SD e il file system.

Dalla riga di comando

Quando si utilizza la riga di comando o una finestra del terminale, è possibile immettere quanto segue per eseguire un arresto pulito:

sudo shutdown -h now

Dalla GUI di LXDE

  1. Fai clic sul pulsante di spegnimento (pulsante di accensione rosso) nella barra dei menu nell'angolo in basso a destra dello schermo.
  2. Fare clic su shutdown (o "logout" come mostrato nelle versioni più recenti, quindi emettere il comando shutdown elencato sopra).

Una volta che il sistema si ferma , è possibile rimuovere il cavo di alimentazione, se necessario.


2
Per quanto riguarda la parte della GUI di LXDE: è ancora attuale? Ho provato con Raspbian corrispondente a NOOBS 1.4 rilasciato 2015-03, versione Linux sottostante: Debian 7 (Wheezy) - Non sono sicuro della versione esatta, ma è Raspbian ultimo 2014 / primo 2015 ( è inclusa la correzione per il bug Shellshock ) . La pressione del pulsante di accensione in basso a destra offre solo il logout (e la cancellazione). Tuttavia, sul desktop è presente un'icona denominata "Arresto". Non so se NOOBS personalizza / configura Raspbian.
Peter Mortensen,

@PeterMortensen sembra che la versione più recente di Raspbian lo abbia rimosso dalle opzioni, quindi ho apportato una modifica sopra per risolverlo, grazie.
Steve Robillard,

57

È meglio spegnere sempre correttamente se puoi.

Scollegare costantemente il dispositivo senza spegnerlo con grazia potrebbe avere effetti indesiderati sulla scheda SD (già un oggetto temperamentale).

Per riferimento, per spegnere dal terminale è possibile utilizzare:

sudo shutdown -h now

o

sudo halt

Questi comandi vengono inviati SIGTERMa tutti i processi in esecuzione, avvisandoli di salvare i loro dati e uscire. Invia quindi SIGKILLa tutti i processi rimanenti per arrestare il sistema, seguito infine dallo smontaggio di tutti i filesystem. Lo schermo mostrerà quindi System Haltede puoi staccare la spina.


6
sudo powerofffunziona anche bene.
Nilpo,

3
Fuori di interesse, qual è la differenza tra halt, shutdowne poweroff?
ACarter

2
@ACarter Non c'è alcuna differenza, tutti
cambiano

3
Non è esattamente lo stesso: aplawrence.com/Linux/halt_shutdown_reboot.html
Anake

1
@Jivings Loro sono non esattamente lo stesso su ogni singolo sistema / distro , per esempio, alcune varianti di BSD sarà solo fermare la CPU senza nemmeno uccidere tutti i processi al momento della chiamata halt. Inoltre, è possibile specificare haltdi arrestare immediatamente il kernel / CPU senza interrompere alcun processo; per questo motivo mi limiterei ad usare a shutdownmeno che tu non abbia un motivo specifico per non farlo.
Breakthrough

29

Ho usato anche quella soluzione shutdown.py .

Sarà comunque necessario trovare un interruttore fisico e saldarlo ai pin 6 e 8 dell'intestazione 5 . Ho preso il mio da una vecchia tavola di Arduino rotta. Ho anche praticato un piccolo foro nella custodia per assicurarmi di poter premere il pulsante con un piccolo perno di legno quando la custodia è chiusa.

Ecco come appare:

Schermata della disposizione dell'interruttore


Come principiante di Raspberry Pi, perché è necessario trovare un interruttore fisico e saldarlo a quei pin? Hai bisogno di hardware per spegnerlo correttamente, o cosa succede se lo spegni semplicemente usando il software (cioè dalla shell o da una GUI)?
Ciao

Il punto era farlo localmente senza accesso remoto. Non esiste un pulsante che spegni il sistema operativo con grazia, quindi solo "staccare la spina" come ha suggerito OP non è una buona opzione.
Oleg Gryb,

Non sono sicuro di seguirti. Perché è necessario un interruttore fisico saldato al Pi o persino meglio che staccare la spina?
Ciao arrivederci

No, sicuramente no. Non sto dicendo che "è necessario", sto dicendo che puoi usare la soluzione per spegnere il dispositivo con garbo senza accesso remoto.
Oleg Gryb,

Ah, ho capito, quindi è necessario solo se usi la soluzione shotdown.py. Il file sembra essere stato spostato o rimosso, però; il tuo link non punta più ad esso.
Ciao Arrivederci

14

Ho seguito il progetto descritto in Raspberry Pi Shutdown Switch - Spegnimento sicuro del Pi , ma ho impostato il pin 17 per essere tirato su internamente. Quindi collegare i fili come nel progetto precedente, ma tralasciare eventuali resistori e aggiungere il seguente script Python in /etc/rc.local:

python shutdown_button.py

File shutdown_button.py

import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
    print GPIO.input(17)
    if (GPIO.input(17) == False):
        os.system("sudo shutdown -h now")
        break
    time.sleep(1)

1
Una stranezza di quanto sopra sarebbe che, poiché controlla lo stato una volta al secondo, a volte richiederà di tenere premuto il pulsante per un secondo intero, e altre volte sembrerà iniziare a spegnersi istantaneamente. Va bene, ovviamente, solo una stranezza.
Brian,

8
Usa GPIO.wait_for_edge(17, GPIO.FALLING)invece del ciclo while, è più reattivo.
Mauro De Lucca,

13

Altre considerazioni a parte, l'alimentazione e altri connettori saranno progettati per un numero limitato di cicli di inserimento / disconnessione. Spesso questo è un numero sorprendentemente basso.

I connettori statisticamente sono una fonte molto probabile di guasti alle apparecchiature.

In vista della longevità complessiva del tuo Pi, potresti voler moderare il numero di inserzioni / disconnessioni del connettore che sperimenta. Un modo per contribuire a ciò sarebbe utilizzare l'interruttore on / off della presa di alimentazione.


Allora, qual è il suggerimento? Spegni il Raspberry Pi scollegando l'alimentatore dalla rete (riducendo così il numero di cicli di inserimento / rimozione al connettore sul dispositivo)? Trovo molto interessante la tua risposta sulla probabilità di guasto del connettore. Puoi eseguire il backup con collegamenti a qualsiasi prova? Grazie.
Andrew Fogg,

3
@AndrewFogg È un fattore ben noto nella progettazione di apparecchiature in ingegneria elettrica. In generale, i componenti elettronici non presentano lo stesso grado di forze meccaniche dei connettori. I produttori accoppiano la vita, come ci si potrebbe aspettare, perché i connettori sono ottenuti in condizioni favorevoli, quindi spesso sono ottimisti e non tengono conto dell'utilizzo umano nella vita reale.Controllare schede tecniche, connettori Edge - 50-100 inserzioni, RJ45 500-1000 inserzioni, Micro- USB 5000-10000. Quindi sì, hai ragione, spegnere la presa a muro è la scelta migliore.
image_doctor,

Aggiungi il suggerimento alla tua risposta. Tu ed io siamo giunti alla conclusione, ma altri potrebbero non vedere le implicazioni.
Bengt,

E che dire degli interruttori? Sono progettati per più on / off-circle? Sarebbe una buona idea posizionare un interruttore sul lato CA dell'alimentatore?
Bengt,

2
Se è raggiungibile (e non entra in un dispositivo ancora più costoso come un desktop / laptop) trovo spesso preferibile collegare ciclicamente l'estremità USB "A" del cavo. I cavi sono economici da sostituire e l'estremità "A" generalmente si collega e scollega più facilmente senza la necessità di afferrare saldamente la scheda con le dita.
Chris Stratton,

6

Accedo al mio Raspberry Pi da remoto, ed ecco come lo spengo:

  1. Eseguire il comando:
    sudo shutdown -h now
  2. Attendere fino a quando i LED smettono di lampeggiare sul Raspberry Pi.
  3. Attendere altri cinque secondi per una buona misura (opzionale).
  4. Spegnere il powerstrip a cui è collegato l'alimentatore Raspberry Pi.

Poiché utilizzo un display remoto, non vedo necessariamente l'output finale di Raspberry Pi nella finestra di comando, motivo per cui utilizzo le spie di attività. Lo stato non lampeggiante dei LED non è un'indicazione assoluta di un arresto completo, ma ha funzionato abbastanza bene per me.


3

Per evitare problemi di corruzione della scheda SD, è necessario arrestare sempre correttamente il sistema operativo. È possibile automatizzare ciò utilizzando una soluzione hardware del controller di potenza e uno script che viene attivato tramite un segnale della porta GPIO, ad esempio (oltre alla fornitura Pi menzionata sopra):

La scheda RemotePi nell'ultimo collegamento ha la funzionalità aggiuntiva di utilizzare i telecomandi IR per accendere / spegnere Raspberry Pi.


2

Se il tuo Raspberry Pi è congelato, non puoi accedere a ssh o console, quindi questo aiuta. Ero al verde delle mie poche schede SD prima sapevo questo:

Tieni premuti entrambi Alt + PrintScreen e, mentre tieni premuti quei tasti, premi i seguenti tasti in sequenza, uno alla volta, con alcuni secondi di pausa tra di loro.

Alt+ PrintScreen+R E I S U O

o

Alt+ PrintScreen+ R E I S U B(riavvio)

Un utile mnemonico da ricordare, riavvia anche se il sistema è completamente rotto.

Sostituire "O" con "B" per arrestare il sistema invece di riavviare (O = spento, B = avvio).

Fonte: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262


1
fonte primaria: en.wikipedia.org/wiki/Magic_SysRq_key (attenzione al layout della tastiera)
Fabian,

1

Questo non è molto difficile. Vai al prompt dei comandi e digita sudo halt. Inserisci la tua password se necessario. Quando non c'è nulla sullo schermo, staccare la spina.

Informazioni dal sito Web di Raspberry Pi.


Vorrei solo aggiungere che dopo che lo schermo si oscura ricontrollo per assicurarsi che anche la luce verde sia spenta.
SDsolar

1

C'è anche una scheda GPIO chiamata Pi Supply che ha un interruttore on, gestione dell'alimentazione e hard off per i blocchi. È anche utile se la spina è dietro la TV e difficile da raggiungere. Devi comunque spegnere normalmente, ma poi spegne il Raspberry Pi.

Se sei preoccupato di indossare la porta micro USB di alimentazione durante il normale utilizzo, puoi procurarti un adattatore USB maschio-femmina e collegare l'alimentatore.


1

Esistono diversi modi per alimentare il pi off! Basta staccare la spina senza l'arresto corretto potrebbe danneggiare la scheda SD!

Per spegnere utilizzare sudo shutdown -nowo sudo shutdown -timedire lo spegnimento in pochi minuti.

Per riavviare utilizzare sudo rebootper riavviare e sudo reboot -time in minutesriaccendere e oppure usare solo sudo rebootper riavviare ora sudo shutdownsenza la -timevolontà predefinita di un minuto per annullare l'arresto utilizzaresudo shutdown -c

Nota: è anche possibile premere il pulsante Raspberry Pi, quindi fare clic su Accensione. Quindi l'arresto o il riavvio e l'arresto e il riavvio sono entrambi immediati!


Aggiornare:

Come descritto in alcune delle altre risposte su questo post:

sudo halt

Funzionerà anche: una volta che non c'è nulla sullo schermo, basta staccare la spina!


"nessun modo per accendere senza staccare la spina e rimetterlo" -> errato. L'intestazione RUN può essere utilizzata per eseguire un hard reset del SoC, causandone l'avvio (indipendentemente dal fatto che il sistema operativo sia stato arrestato o meno ...): raspberrypi.stackexchange.com/q/29339/5538 Su alcuni modelli questi sono etichettati P6, non IN FUNZIONE.
riccioli d'oro

@goldilocks Grazie non sapevo di averlo rimosso dal mio post
User98764431

0

Non hai davvero bisogno di un interruttore di alimentazione per il tuo Raspberry Pi. Uso un hub USB per l'alimentatore con interruttori on / off. Quindi, ogni volta che voglio spegnere il Raspberry Pi, spengo semplicemente l'interruttore USB.


20
Non è una buona idea il solo potere del Pi - YOu potrebbe rischiare la perdita di dati o la corruzione in improvvisi blackout. Meglio chiudere sempre come previsto. per esempio - FreeNAS (basato su FreeBSD) è sicuro perché la radice è di sola lettura; Ma perché è un NAS! i dati possono essere persi durante la scrittura sui dischi rigidi .. Quindi alla fine della giornata. Utilizzare sempre metodi di spegnimento implementati!
Piotr Kula,

0

Si consiglia di staccare la spina solo se il led verde è spento. Il led verde lampeggia, se la macchina sta scrivendo sulla scheda SD.


0

I normali comandi unix funzionano con Linux, in questo modo:

init 0 lo spegnerà, quindi è sicuro staccare la spina.

init 6 verrà riavviato.

A differenza di Unix, non è necessario eseguire la sincronizzazione; sync; prima di spegnersi. Ma semplicemente staccare la spina può causare errori, quindi assicurati di utilizzare lo spegnimento o init 0 prima di scollegare l'alimentazione. Se ti capita di interrompere l'alimentazione in modo inaspettato, usa fsck per verificare e / o risolvere eventuali problemi che potrebbero sorgere.

Potrebbe esserci un caso per eseguire la sincronizzazione completa; sync; sync; dormire 30; arrestarsi se si dispone di un file system esterno che non si smonta in modo pulito. Sapresti se questo è un problema eseguendo fsck su filesystem esterni subito dopo l'avvio. Se sta riscontrando problemi, potresti voler fare tutto. Ma non l'ho mai visto accadere con il mio Rpi3.


0

Utilizzare sempre un comando per spegnere e spegnere il Raspberry Pi. Uso sudo halt come molti altri utenti. Consiglio di eseguire il backup della scheda SD Ho scollegato accidentalmente il mio e danneggiato l'immagine in qualche modo. È più facile arrestare che masterizzare una nuova immagine e ricominciare

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.