Wie schalte ich meinen Raspberry Pi aus?

247

Soll ich nur den Stecker ziehen? Oder ist es am besten, wenn ich LXDE und andere laufende Prozesse zuerst beende?

Andrew Fogg
quelle
45
Natürlich schalte ich meinen Pi jedes Mal richtig aus ... husten
berry120 18.06.12
11
sudo halt -pwerde es tun.
Thorbjørn Ravn Andersen
12
Ich würde gerne ein "How-to" für eine an GPIO angeschlossene Hardtaste sehen, um das Betriebssystem zum Herunterfahren anzuweisen.
20
Leute, die gerade Strom unter ihren Pis ziehen, sollten das wirklich aufhören. Ich hatte zwei vollständige Rasbian-Installationen, bei denen der Kernel wegen beschädigter Dateisysteme durch unsachgemäßes Herunterfahren (z. B. Ausschalten der Stromversorgung) in Panik geriet. In beiden Fällen musste ich ein neues Image der Karte erstellen und die gesamte Arbeit, die ich in die Konfiguration gesteckt hatte, erneut ausführen.
Tavis
3
@tavis - Wenn Sie eine gute Konfiguration erhalten, mit der Sie zufrieden sind, sollten Sie sie unbedingt mit Win23 Disk Imager sichern. Mit Lightweight, Free usw. wird eine exakte Kopie des gesamten Raspberry Pi-Betriebssystems gespeichert, sodass Sie immer nur einen kurzen Weg zu Best Buy zurücklegen müssen, um einen vollständig wiederhergestellten Pi zu erhalten - vorausgesetzt, es liegt ein Festplattenfehler oder eine Fehlkonfiguration vor: -).
GojiraDeMonstah

Antworten:

251

Sie wollen auf keinen Fall nur den Stecker ziehen. Dies kann zu Problemen mit der SD-Karte und dem Dateisystem führen.

Von der Kommandozeile

Wenn Sie die Befehlszeile oder ein Terminalfenster verwenden, können Sie Folgendes eingeben, um ein sauberes Herunterfahren durchzuführen:

sudo shutdown -h now

Über die LXDE-GUI

  1. Klicken Sie in der Menüleiste in der unteren rechten Ecke des Bildschirms auf die Schaltfläche zum Herunterfahren (rote Einschalttaste).
  2. Klicken Sie auf Herunterfahren (oder "Abmelden", wie in neueren Versionen gezeigt, und geben Sie dann den oben aufgeführten Befehl zum Herunterfahren aus).

Sobald angezeigt wird , dass das System angehalten wurde , können Sie das Netzkabel bei Bedarf entfernen.

Steve Robillard
quelle
2
Zum LXDE-GUI-Teil: Ist das noch aktuell? Ich habe versucht , mit Raspbian zu entsprechenden NOOBS 1.4 2015-03 veröffentlichte zugrunde liegende Linux - Version: Debian 7 (Wheezy) - Ich bin nicht sicher über die genaue Version, aber es ist Raspbian ultimo 2014 / primo 2015 (das Update für Shellshock Fehler ist im Preis inbegriffen) . Durch Drücken des Ein- / Ausschalters unten rechts können Sie sich nur abmelden (und abbrechen). Auf dem Desktop befindet sich jedoch ein Symbol mit dem Namen "Herunterfahren". Ich weiß nicht, ob NOOBS Raspbian anpasst / konfiguriert.
Peter Mortensen
@PeterMortensen es scheint, dass neuere Version von Raspbian es aus den Optionen entfernt haben, so dass ich oben eine Bearbeitung vorgenommen habe, um es zu beheben - danke.
Steve Robillard
57

Es ist am besten, immer richtig herunterzufahren, wenn Sie können.

Wenn Sie das Gerät ständig vom Stromnetz trennen, ohne es ordnungsgemäß herunterzufahren, kann dies unerwünschte Auswirkungen auf die SD-Karte haben (ein ohnehin temperamentvolles Objekt).

Zum Herunterfahren des Terminals können Sie Folgendes verwenden:

sudo shutdown -h now

oder

sudo halt

Diese Befehle werden SIGTERMan alle laufenden Prozesse gesendet und sie werden benachrichtigt, um ihre Daten zu speichern und zu beenden. Anschließend wird SIGKILLan alle verbleibenden Prozesse gesendet, um das System anzuhalten, und anschließend wird die Bereitstellung aller Dateisysteme endgültig aufgehoben. Der Bildschirm zeigt dann System Haltedund Sie können den Stecker ziehen.

Jivings
quelle
6
sudo powerofffunktioniert auch gut.
Nilpo
3
Aus Interesse, was ist der Unterschied zwischen halt, shutdownund poweroff?
7.
2
@ACarter Es gibt keinen Unterschied, sie alle schalten das System auf Runlevel 6 um.
Jivings
3
Es ist nicht genau das gleiche: aplawrence.com/Linux/halt_shutdown_reboot.html
Anake
1
@Jivings Sie sind nicht genau das gleiche auf jedem einzelnen System / Distro zum Beispiel halt einige BSD - Varianten werden nur die CPU , ohne auch nur alle Prozesse zu töten wenn Sie anrufen halt. Außerdem können Sie festlegen halt, dass der Kernel / die CPU sofort angehalten wird, ohne dass Prozesse heruntergefahren werden. Aus diesem Grund würde ich bei der Verwendung bleiben, es shutdownsei denn, Sie haben einen bestimmten Grund, dies nicht zu tun.
Durchbruch
29

Ich habe diese shutdown.py- Lösung auch verwendet.

Sie müssen noch einen physischen Schalter finden und ihn an Pin 6 und 8 von Header 5 anlöten . Ich nahm meine von einem alten kaputten Arduino-Brett. Ich habe auch ein kleines Loch in das Gehäuse gebohrt, um sicherzustellen, dass ich den Knopf mit einem kleinen Holzstift drücken kann, wenn das Gehäuse geschlossen ist.

So sieht es aus:

Screenshot der Schalteranordnung

Oleg Gryb
quelle
Warum muss man als Raspberry Pi-Neuling einen physischen Schalter finden und ihn an diese Stifte anlöten? Benötigen Sie Hardware, um es ordnungsgemäß auszuschalten, oder was passiert, wenn Sie es einfach mithilfe von Software (z. B. über die Shell oder eine GUI) ausschalten?
HelloGoodbye
Der Punkt war, es lokal ohne Fernzugriff zu tun. Es gibt keine Taste, mit der das Betriebssystem ordnungsgemäß heruntergefahren werden kann. Daher ist es keine gute Option, nur den Stecker zu ziehen, wie es das OP vorgeschlagen hat.
Oleg Gryb
Ich bin mir nicht sicher, ob ich dir folge. Warum ist ein physischer Schalter mit dem Pi verlötet oder sogar besser als das Ziehen des Steckers?
HelloGoodbye
Nein, das bist du definitiv nicht. Ich sage nicht, dass "es notwendig ist", ich sage, dass Sie die Lösung verwenden können, um das Gerät ordnungsgemäß ohne Remotezugriff herunterzufahren.
Oleg Gryb
Ah, ich verstehe, es ist also nur notwendig, wenn Sie die shotdown.py-Lösung verwenden. Die Datei scheint jedoch verschoben oder entfernt worden zu sein. Ihr Link verweist nicht mehr darauf.
Hallo Auf Wiedersehen
14

Ich habe das in Raspberry Pi Shutdown Switch - Sicheres Ausschalten des Pi beschriebene Projekt befolgt , aber Pin 17 so eingestellt, dass er intern hochgezogen wird. Schließen Sie dann die Drähte wie im obigen Projekt an, lassen Sie jedoch alle Widerstände weg und fügen Sie das folgende Python-Skript hinzu /etc/rc.local:

python shutdown_button.py

Datei 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)
Jens Peter Nielsen
quelle
1
Eine Besonderheit des oben Genannten ist, dass es manchmal erforderlich ist, die Taste für eine volle Sekunde gedrückt zu halten, da der Status einmal pro Sekunde überprüft wird. Das ist natürlich in Ordnung, nur eine Eigenheit.
Brian
8
Die Verwendung GPIO.wait_for_edge(17, GPIO.FALLING)anstelle der while-Schleife ist reaktionsschneller.
Mauro De Lucca
13

Abgesehen von anderen Überlegungen werden die Stromversorgung und andere Anschlüsse für eine begrenzte Anzahl von Ein / Aus-Zyklen ausgelegt. Oft ist dies eine überraschend niedrige Zahl.

Statistisch gesehen sind Steckverbinder eine sehr wahrscheinliche Ursache für Geräteausfälle.

Im Hinblick auf die Gesamtlebensdauer Ihres Pi möchten Sie möglicherweise die Anzahl der Steckverbindungen verringern. Eine Möglichkeit, dies zu tun, besteht darin, den Ein- / Ausschalter der Netzsteckdose zu verwenden.

image_doctor
quelle
Also, was ist der Vorschlag? Schalten Sie den Raspberry Pi aus, indem Sie das Netzteil vom Stromnetz trennen (wodurch die Anzahl der Steckzyklen für den Anschluss am Gerät verringert wird). Ich finde Ihre Antwort bezüglich der Wahrscheinlichkeit eines Steckerausfalls sehr interessant. Können Sie es mit Links zu Beweisen belegen? Vielen Dank.
Andrew Fogg
3
@AndrewFogg Es ist ein bekannter Faktor im Ausrüstungsdesign in der Elektrotechnik. Im Allgemeinen sind elektronische Bauteile nicht den gleichen mechanischen Kräften ausgesetzt wie Steckverbinder. Die erwartungsgemäßen Steckzeiten der Hersteller für Steckverbinder werden unter günstigen Bedingungen erzielt. Sie sind daher oftmals optimistisch und berücksichtigen nicht den tatsächlichen menschlichen Gebrauch. Überprüfen Sie die Datenblätter, Kantensteckverbinder - 50-100 Steckverbindungen, RJ45 500-1000 Steckverbindungen, Mikro- USB 5000-10000. Also ja, Sie haben Recht, das Ausschalten an der Steckdose ist die beste Wahl.
image_doctor
Bitte fügen Sie den Vorschlag Ihrer Antwort hinzu. Sie und ich kamen zu dem Schluss, aber andere sehen die Auswirkungen möglicherweise nicht.
Bengt
Was ist auch mit Schaltern? Sind sie für mehr Ein / Aus-Kreise ausgelegt? Wäre es eine gute Idee, einen Schalter an der AC-Seite des Netzteils anzubringen?
Bengt
2
Wenn es erreichbar ist (und nicht in ein noch teureres Gerät wie einen Desktop / Laptop passt), empfinde ich es oft als besser, das USB "A" -Ende des Kabels einzustecken. Kabel sind billig zu ersetzen, und das "A" -Ende lässt sich im Allgemeinen leichter stecken und ziehen, ohne dass Sie die Platine fest mit den Fingern greifen müssen.
Chris Stratton
6

Ich logge mich remote in meinen Raspberry Pi ein und schalte ihn folgendermaßen aus:

  1. Führen Sie den Befehl aus:
    sudo shutdown -h now
  2. Warten Sie, bis die LEDs am Raspberry Pi aufhören zu blinken.
  3. Warten Sie weitere fünf Sekunden, um eine gute Messung durchzuführen (optional).
  4. Schalten Sie den Powerstrip aus, in den das Raspberry Pi-Netzteil eingesteckt ist.

Da ich ein Remote-Display verwende, sehe ich nicht unbedingt die endgültige Ausgabe des Raspberry Pi im Befehlsfenster, weshalb ich die Aktivitätsanzeigen verwende. Der nicht blinkende Zustand der LEDs ist kein absoluter Hinweis auf ein vollständiges erfolgreiches Herunterfahren, aber es hat für mich gut genug funktioniert.

PiHax
quelle
3

Um Probleme mit der Beschädigung der SD-Karte zu vermeiden, sollten Sie das Betriebssystem immer ordnungsgemäß herunterfahren. Sie können dies automatisieren, indem Sie eine Power Controller-Hardwarelösung und ein Skript verwenden, das beispielsweise über ein GPIO-Port-Signal ausgelöst wird (zusätzlich zu dem oben erwähnten Pi Supply):

Das RemotePi-Board im letzten Link verfügt über die zusätzliche Funktionalität, IR-Fernbedienungen zum Ein- und Ausschalten des Raspberry Pi zu verwenden.

Briefträger
quelle
2

Wenn Ihr Raspberry Pi eingefroren ist, können Sie nicht auf ssh oder console zugreifen, dies hilft. Ich hatte meine wenigen SD-Karten kaputt, bevor ich folgendes wusste:

Halten Sie die Tasten Alt + PrintScreen gedrückt, und drücken Sie nacheinander nacheinander die folgenden Tasten, wobei Sie einige Sekunden Pause dazwischen einlegen.

Alt+ PrintScreen+R E I S U O

oder

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

Ein praktisches Mnemon, an das Sie sich erinnern sollten: Neustart, auch wenn das System völlig kaputt ist.

Ersetzen Sie "B" durch "O", um das System herunterzufahren, anstatt es neu zu starten (O = aus, B = booten).

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

Almas Dusal
quelle
1
Primärquelle: en.wikipedia.org/wiki/Magic_SysRq_key (bitte beachten Sie Ihr Tastaturlayout)
Fabian
1

Das ist nicht sehr schwer. Rufen Sie die Eingabeaufforderung auf und geben Sie Folgendes ein sudo halt. Geben Sie ggf. Ihr Passwort ein. Sobald nichts mehr auf dem Bildschirm zu sehen ist, ziehen Sie den Stecker.

Infos von der Raspberry Pi Website.

Algo
quelle
Ich möchte nur hinzufügen, dass ich nach dem Dunkelwerden des Bildschirms noch einmal überprüfe, ob auch das grüne Licht aus ist.
SDsolar
1

Es gibt auch eine GPIO-Karte namens Pi Supply , die über einen Ein-Schalter, ein Energie-Management und eine Abschaltung für Abstürze verfügt. Es ist auch nützlich, wenn sich Ihr Stecker hinter dem Fernseher befindet und schwer zu erreichen ist. Sie müssen noch normal herunterfahren, aber dann wird der Raspberry Pi ausgeschaltet.

Wenn Sie befürchten, den Micro-USB-Stromanschluss bei normaler Verwendung nicht zu verwenden, können Sie einen USB-Adapter von Mann zu Frau erwerben und Ihr Netzteil daran anschließen.

Graeme
quelle
1

Es gibt mehrere Möglichkeiten, den Pi auszuschalten! Das Ziehen des Steckers ohne ordnungsgemäßes Herunterfahren kann Ihre SD-Karte beschädigen!

Zum Herunterfahren verwenden Sie sudo shutdown -nowoder sudo shutdown -timeteilen Sie Herunterfahren in Minuten mit.

Zum Neustarten verwenden Sie, sudo rebootum neu zu starten und sudo reboot -time in minuteswieder einzuschalten, und oder verwenden Sie sudo reboot, um jetzt neu zu starten, sudo shutdownohne -timedass standardmäßig eine Minute zum Abbrechen des Herunterfahrens verwendet wirdsudo shutdown -c

Hinweis: Sie können auch die Himbeer-Pi-Taste drücken und dann auf Ein / Aus klicken. Fahren Sie dann auch herunter oder starten Sie es neu. Das Herunterfahren und der Neustart sind beide sofort!


Aktualisieren:

Wie in einigen anderen Antworten dieses Beitrags beschrieben:

sudo halt

Funktioniert auch: Sobald nichts mehr auf dem Bildschirm ist, einfach den Stecker ziehen!

User98764431
quelle
"Keine Möglichkeit zum Einschalten, ohne den Stecker zu ziehen und wieder einzustecken" -> Falsch. Der RUN-Header kann verwendet werden, um einen Hard-Reset des SoC durchzuführen, wodurch dieser gebootet wird (unabhängig davon, ob das Betriebssystem heruntergefahren wurde oder nicht ...): raspberrypi.stackexchange.com/q/29339/5538 Bei einigen Modellen sind diese gekennzeichnet P6, nicht LAUFEN.
Goldlöckchen
@goldilocks Vielen Dank, ich wusste nicht, dass ich es von meinem Beitrag entfernt
User98764431
0

Sie brauchen für Ihren Raspberry Pi nicht wirklich einen Netzschalter. Ich verwende einen USB-Hub für das Netzteil, das über Ein- / Ausschalter verfügt. Wenn ich den Raspberry Pi ausschalten möchte, schalte ich einfach den USB-Schalter aus.

Jim
quelle
20
Es ist keine gute Idee, den Pi-YOu nur mit Strom zu versorgen, da dies zu Datenverlust oder Beschädigung bei plötzlichen Stromausfällen führen kann. Besser immer wie vorgesehen herunterfahren. Zum Beispiel: FreeNAS (basierend auf FreeBSD) ist sicher, weil der Root schreibgeschützt ist. Aber weil es ein NAS ist! Während des Schreibens auf Ihre Festplatte können Daten verloren gehen. Verwenden Sie immer implementierte Abschaltmethoden!
Piotr Kula
0

Sie sollten den Stecker nur ziehen, wenn die grüne LED aus ist. Die grüne LED blinkt, wenn das Gerät auf die SD-Karte schreibt.

Aaron
quelle
0

Die normalen Unix-Befehle funktionieren unter Linux wie folgt:

init 0 schaltet es ab, so dass Sie sicher am Stecker ziehen können.

init 6 wird neu gestartet.

Im Gegensatz zu Unix gibt es keine wirkliche Notwendigkeit, eine Synchronisierung durchzuführen. synchronisieren; vor dem Herunterfahren. Das Ziehen des Steckers kann jedoch zu Fehlern führen. Verwenden Sie daher vor dem Trennen der Stromversorgung die Option shutdown oder init 0. Wenn Sie die Stromversorgung unerwartet unterbrechen, verwenden Sie fsck, um nach eventuell auftretenden Problemen zu suchen und / oder diese zu beheben.

Möglicherweise ist die vollständige Synchronisierung erforderlich. synchronisieren; synchronisieren; Schlaf 30; halt, wenn du ein externes Dateisystem hast, das sich nicht sauber aushängen lässt. Sie wissen, ob dies ein Problem ist, indem Sie fsck direkt nach dem Booten auf externen Dateisystemen ausführen. Wenn es Probleme gibt, möchten Sie vielleicht das Ganze machen. Aber ich habe das noch nie mit meinem Rpi3 gesehen.

SDsolar
quelle
0

Verwenden Sie immer einen Befehl, um Ihren Raspberry Pi herunterzufahren und auszuschalten. Ich benutze halt sudo wie viele andere User. Ich empfehle, eine Sicherungskopie Ihrer SD-Karte zu erstellen, die ich versehentlich von meiner entfernt und das Image irgendwie beschädigt habe. Das Herunterfahren ist einfacher, als ein neues Image zu brennen und von vorne zu beginnen

Pismurf
quelle