Czy powinienem po prostu wyciągnąć wtyczkę? A może najlepiej, jeśli najpierw zamknę LXDE i inne uruchomione procesy?
sudo halt -p
zrobię to.
Czy powinienem po prostu wyciągnąć wtyczkę? A może najlepiej, jeśli najpierw zamknę LXDE i inne uruchomione procesy?
sudo halt -p
zrobię to.
Odpowiedzi:
Na pewno nie chcesz po prostu wyciągnąć wtyczki. Może to powodować problemy z kartą SD i systemem plików.
Korzystając z wiersza polecenia lub okna terminala, możesz wprowadzić następujące dane, aby wykonać czyste zamknięcie:
sudo shutdown -h now
Gdy pojawi się komunikat System został zatrzymany , w razie potrzeby można odłączyć przewód zasilający.
Najlepiej jest zawsze poprawnie wyłączyć system, jeśli możesz.
Ciągłe odłączanie urządzenia bez wyłączania z wdziękiem może mieć niepożądany wpływ na kartę SD (już przedmiot temperamentalny).
W celu zamknięcia z terminala możesz użyć:
sudo shutdown -h now
lub
sudo halt
Te polecenia wysyłają SIGTERM
do wszystkich uruchomionych procesów, powiadamiając je o zapisaniu danych i wyjściu. Następnie wysyła SIGKILL
do wszystkich pozostałych procesów, aby zatrzymać system, a następnie ostatecznie odmontowuje wszystkie systemy plików. Wyświetlony zostanie ekran System Halted
i możesz wyciągnąć wtyczkę.
sudo poweroff
działa również dobrze.
halt
, shutdown
i poweroff
?
halt
. Co więcej, możesz określić, halt
aby po prostu zatrzymać jądro / procesor od razu, bez wyłączania jakichkolwiek procesów; z tego powodu trzymałbym się, shutdown
chyba że masz konkretny powód, aby tego nie robić.
Użyłem również tego rozwiązania shutdown.py .
Nadal musisz znaleźć fizyczny przełącznik i przylutować go do styków 6 i 8 nagłówka 5 . Wziąłem mój ze starej, zepsutej płyty Arduino. Wywierciłem również mały otwór w obudowie, aby upewnić się, że mogę nacisnąć przycisk małą drewnianą szpilką, gdy obudowa jest zamknięta.
Tak to wygląda:
Postępowałem zgodnie z projektem opisanym w Raspberry Pi Shutdown Switch - Bezpieczne wyłączanie Pi , ale ustawiłem pin 17, aby został wewnętrznie wyciągnięty. Następnie podłącz przewody jak w powyższym projekcie, ale pomiń rezystory i dodaj następujący skrypt w języku Python /etc/rc.local
:
python 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)
GPIO.wait_for_edge(17, GPIO.FALLING)
zamiast pętli while, jest bardziej responsywny.
Pomijając inne kwestie, zasilanie i inne złącza zostaną zaprojektowane dla ograniczonej liczby cykli wkładania / odłączania. Często jest to zaskakująco niska liczba.
Statystycznie złącza są bardzo prawdopodobnym źródłem awarii sprzętu.
Biorąc pod uwagę ogólną długość życia twojego Pi, możesz chcieć zminimalizować liczbę podłączeń / rozłączeń złącza, których doświadcza. Jednym ze sposobów pomocy w tym celu byłoby użycie włącznika / wyłącznika gniazda zasilania.
Zdalnie loguję się do mojego Raspberry Pi, a oto jak go wyłączyć:
sudo shutdown -h now
Ponieważ używam zdalnego wyświetlacza, niekoniecznie widzę końcowe wyjście Raspberry Pi w oknie poleceń, dlatego używam lampek aktywności. Nie mrugający stan diod LED nie jest absolutnym wskaźnikiem całkowitego pomyślnego wyłączenia, ale działał dla mnie wystarczająco dobrze.
Aby uniknąć problemów z uszkodzeniem karty SD, należy zawsze prawidłowo zamykać system operacyjny. Możesz to zautomatyzować za pomocą rozwiązania sprzętowego kontrolera mocy i skryptu uruchamianego przez sygnał portu GPIO, na przykład (oprócz wspomnianego powyżej zasilania Pi):
Płyta RemotePi w ostatnim linku ma dodatkową funkcję używania pilotów IR do włączania / wyłączania Raspberry Pi.
Jeśli Twój Raspberry Pi jest zamrożony, nie możesz wejść do ssh lub konsoli, to pomaga. Złamałem kilka kart SD, zanim wiedziałem o tym:
Przytrzymaj oba klawisze Alt + PrintScreen i przytrzymując te klawisze, naciskaj kolejno następujące klawisze, jeden po drugim, z kilkuminutową przerwą między nimi.
Alt+ PrintScreen+R E I S U O
lub
Alt+ PrintScreen+ R E I S U B(restart)
Przydatnym mnemonikiem do zapamiętania jest ponowne uruchomienie, nawet jeśli system jest całkowicie zepsuty.
Zamiast „B” wpisz „O”, aby zamknąć system zamiast restartu (O = wyłączony, B = rozruch).
Źródło: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262
To nie jest bardzo trudne. Przejdź do wiersza polecenia i wpisz sudo halt
. W razie potrzeby wprowadź hasło. Gdy na ekranie nie będzie już nic, wyciągnij wtyczkę.
Informacje ze strony internetowej Raspberry Pi.
Istnieje również płyta GPIO o nazwie Pi Supply, która ma włącznik, zarządzanie energią i twardy wyłącznik do blokowania. Jest to również przydatne, jeśli wtyczka znajduje się za telewizorem i trudno się do niej dostać. Nadal musisz normalnie wyłączyć, ale następnie wyłącza Raspberry Pi.
Jeśli martwisz się zużyciem portu micro USB zasilania podczas normalnego użytkowania, możesz uzyskać adapter USB męski na żeński i podłączyć do niego zasilacz.
Istnieje wiele sposobów na wyłączenie pi! Samo wyciągnięcie wtyczki bez odpowiedniego wyłączenia może uszkodzić kartę SD!
Aby zamknąć, użyj sudo shutdown -now
lub sudo shutdown -time
powiedz zamknięcie w ciągu kilku minut.
Aby zrestartować, użyj, sudo reboot
aby zrestartować i ponownie włączyć sudo reboot -time in minutes
zasilanie i lub użyj tylko, sudo reboot
aby ponownie uruchomić teraz sudo shutdown
bez -time
domyślnej wartości jednej minuty, aby anulować zamknięciesudo shutdown -c
Uwaga: Możesz także nacisnąć przycisk malinowy pi, a następnie kliknąć moc. Następnie zamknięcie lub ponowne uruchomienie, a także wyłączenie i ponowne uruchomienie są natychmiastowe!
Jak opisano w niektórych innych odpowiedziach w tym poście:
sudo halt
Działa również: gdy na ekranie nie będzie już nic, wystarczy wyciągnąć wtyczkę!
Tak naprawdę nie potrzebujesz wyłącznika zasilania dla swojego Raspberry Pi. Używam koncentratora USB do zasilania z włącznikami / wyłącznikami. Tak więc, ilekroć chcę wyłączyć Raspberry Pi, po prostu wyłączam przełącznik USB.
Normalne polecenia unixowe działają z Linuksem, tak jak:
init 0 wyłączy go, więc można bezpiecznie wyciągnąć wtyczkę.
init 6 uruchomi się ponownie.
W przeciwieństwie do unixa, nie ma potrzeby synchronizacji; synchronizacja; przed zamknięciem. Ale samo wyciągnięcie wtyczki może powodować błędy, dlatego przed odłączeniem zasilania należy użyć wyłączania lub init 0. Jeśli zdarzy Ci się nieoczekiwanie przerwać zasilanie, użyj fsck, aby sprawdzić i / lub naprawić ewentualne problemy.
Może zajść potrzeba wykonania pełnej synchronizacji; synchronizacja; synchronizacja; spać 30; zatrzymać, jeśli masz zewnętrzny system plików, który nie odmontowuje się czysto. Będziesz wiedział, czy jest to problem, uruchamiając fsck na zewnętrznych systemach plików zaraz po uruchomieniu. Jeśli pojawiają się problemy, możesz zrobić to wszystko. Ale nigdy nie widziałem, żeby tak się działo z moim Rpi3.