Bagaimana cara mematikan Raspberry Pi saya?

246

Haruskah saya tarik colokannya saja? Atau lebih baik jika saya keluar dari LXDE dan proses yang berjalan lainnya terlebih dahulu?

Andrew Fogg
sumber
45
Tentu saja saya mematikan Pi saya dengan benar setiap kali ... batuk
berry120
11
sudo halt -pakan melakukannya.
Thorbjørn Ravn Andersen
12
Saya ingin melihat "bagaimana" untuk tombol keras yang terhubung ke GPIO untuk memberitahu OS untuk shutdown.
20
Orang-orang yang hanya mengeluarkan kekuatan dari bawah Pi mereka harus benar-benar berhenti melakukan itu. Saya sudah memiliki dua instalasi Rasbian penuh yang mulai panik kernel karena sistem file yang korup karena shutdown yang tidak benar (mis. Menarik daya). Saya harus mem-image ulang kartu dalam kedua kasus dan melakukan kembali semua pekerjaan yang saya lakukan untuk mengkonfigurasinya.
tavis
3
@tavis - Ketika Anda mendapatkan konfigurasi yang baik, Anda harus mencadangkannya dengan sesuatu seperti Win23 Disk Imager. Ringan, gratis, dll., Akan menyimpan salinan persis seluruh OS Raspberry Pi, jadi Anda hanya akan melakukan perjalanan singkat ke Best Buy daripada memiliki Pi yang sepenuhnya dipulihkan - dengan asumsi masalahnya adalah kegagalan disk atau kesalahan konfigurasi: -).
GojiraDeMonstah

Jawaban:

250

Anda tentu tidak ingin hanya menarik steker. Ini dapat menyebabkan masalah dengan kartu SD dan sistem file.

Dari baris perintah

Saat menggunakan baris perintah atau jendela terminal, Anda dapat memasukkan yang berikut untuk melakukan shutdown bersih:

sudo shutdown -h now

Dari GUI LXDE

  1. Klik tombol mematikan (tombol daya merah) di bilah menu di sudut kanan bawah layar.
  2. Klik shutdown (atau "logout" seperti yang ditunjukkan pada versi yang lebih baru, lalu keluarkan perintah shutdown yang tercantum di atas).

Setelah dikatakan Sistem terhenti , Anda dapat melepas kabel daya jika diperlukan.

Steve Robillard
sumber
2
Mengenai bagian LXDE GUI: Apakah ini masih terkini? Saya mencoba dengan Raspbian yang sesuai dengan NOOBS 1.4 yang dirilis 2015-03, versi Linux yang mendasarinya: Debian 7 (Wheezy) - Saya tidak yakin dengan versi pastinya, tetapi ini adalah Raspbian ultimo 2014 / primo 2015 (perbaikan untuk bug Shellshock disertakan) . Menekan tombol daya di kanan bawah hanya menawarkan logout (dan membatalkan). Namun, ada ikon di desktop bernama "Shutdown". Saya tidak tahu apakah NOOBS mengkustomisasi / mengkonfigurasi Raspbian.
Peter Mortensen
@PeterMortensen tampaknya versi Raspbian yang lebih baru telah menghapusnya dari opsi, jadi saya telah melakukan edit di atas untuk mengatasinya - terima kasih.
Steve Robillard
57

Yang terbaik adalah selalu mematikan dengan benar jika Anda bisa.

Mencabut perangkat secara konstan tanpa mematikan dengan anggun mungkin memiliki efek yang tidak diinginkan pada kartu SD (sudah menjadi objek temperamental).

Sebagai referensi, untuk mematikan dari terminal Anda dapat menggunakan:

sudo shutdown -h now

atau

sudo halt

Perintah-perintah ini mengirim SIGTERMke semua proses yang berjalan, memberitahukan mereka untuk menyimpan data mereka dan keluar. Kemudian mengirimkan SIGKILLke semua proses yang tersisa untuk menghentikan sistem, diikuti dengan akhirnya meng-unmount semua sistem file. Layar kemudian akan ditampilkan System Halteddan Anda dapat menarik steker.

Jivings
sumber
6
sudo poweroffjuga berfungsi dengan baik.
Nilpo
3
Dari bunga, apa perbedaan antara halt, shutdowndan poweroff?
ACarter
2
@ ACarter Tidak ada perbedaan, mereka semua mengganti sistem ke runlevel 6.
Jivings
3
Its tidak persis sama: aplawrence.com/Linux/halt_shutdown_reboot.html
Anake
1
@Jivings Mereka tidak persis sama pada setiap sistem / distro tunggal , misalnya, beberapa varian BSD hanya akan menghentikan CPU tanpa mematikan proses apa pun saat memanggil halt. Selanjutnya, Anda dapat menentukan haltuntuk menghentikan kernel / CPU segera tanpa mengambil proses apa pun; untuk alasan ini saya akan tetap menggunakan shutdownkecuali Anda memiliki alasan khusus untuk tidak melakukannya.
Terobosan
29

Saya telah menggunakan solusi shutdown.py juga.

Anda masih harus menemukan sakelar fisik dan menyoldernya ke pin 6 dan 8 pada header 5 . Saya mengambil milik saya dari papan Arduino tua yang rusak. Saya juga telah membuat lubang kecil di kasing untuk memastikan saya bisa menekan tombol dengan pin kayu kecil ketika kasing ditutup.

Begini tampilannya:

Cuplikan layar pengaturan sakelar

Oleg Gryb
sumber
Sebagai pemula Raspberry Pi, mengapa perlu mencari sakelar fisik dan menyoldernya ke pin tersebut? Apakah Anda memerlukan perangkat keras untuk mematikannya dengan benar, atau apa yang terjadi jika Anda mematikannya dengan menggunakan perangkat lunak (yaitu dari shell atau dari GUI)?
HelloGoodbye
Intinya adalah melakukannya secara lokal tanpa akses jarak jauh. Tidak ada tombol yang akan mematikan OS dengan anggun, jadi cukup "tarik colokan" seperti yang disarankan OP bukanlah pilihan yang baik.
Oleg Gryb
Saya tidak yakin saya mengikuti Anda. Mengapa saklar fisik disolder ke Pi diperlukan, atau bahkan lebih baik daripada menarik steker?
HelloGoodbye,
Tidak, tentu saja tidak. Saya tidak mengatakan bahwa "itu perlu", saya katakan Anda dapat menggunakan solusi untuk mematikan perangkat dengan anggun tanpa akses jarak jauh.
Oleg Gryb
Ah, saya mengerti, jadi itu hanya perlu jika Anda menggunakan solusi shotdown.py. File tersebut tampaknya telah dipindahkan atau dihapus; tautan Anda tidak mengarah lagi.
HelloGoodbye
14

Saya mengikuti proyek yang dijelaskan dalam Raspberry Pi Shutdown Switch - Mematikan Pi dengan aman , tetapi mengatur pin 17 agar ditarik secara internal. Kemudian sambungkan kabel seperti proyek di atas, tetapi tinggalkan resistor dan tambahkan skrip Python berikut di /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)
Jens Peter Nielsen
sumber
1
Sebuah kekhasan dari hal di atas adalah bahwa karena memeriksa keadaan satu detik sekali, kadang-kadang akan membutuhkan menahan tombol selama satu detik penuh, dan di lain waktu itu akan mulai mematikan secara instan. Tentu saja itu baik-baik saja.
Brian
8
Gunakan GPIO.wait_for_edge(17, GPIO.FALLING)alih-alih loop sementara, lebih responsif.
Mauro De Lucca
13

Selain pertimbangan lain, daya, dan konektor lainnya, akan dirancang untuk sejumlah siklus sisipan / pemutusan yang terbatas. Seringkali ini adalah angka yang sangat rendah.

Konektor secara statistik adalah sumber kegagalan peralatan yang sangat mungkin.

Dengan melihat umur panjang keseluruhan Pi Anda, Anda mungkin ingin memoderasi jumlah konektor yang dimasukkan / terputus yang dialami. Salah satu cara untuk membantu melakukan ini adalah dengan menggunakan sakelar hidup / mati soket suplai utama.

image_doctor
sumber
Jadi apa sarannya? Matikan Raspberry Pi dengan memutus catu daya dari listrik (sehingga mengurangi jumlah siklus masuk / lepaskan ke konektor pada perangkat)? Saya menemukan jawaban Anda mengenai kemungkinan kegagalan konektor sangat menarik. Bisakah Anda mencadangkannya dengan tautan ke bukti apa pun? Terima kasih.
Andrew Fogg
3
@AndrewFogg Ini adalah faktor yang diketahui dalam desain peralatan di Teknik Listrik. Dalam kasus umum, komponen elektronik tidak mengalami tingkat kekuatan mekanik yang sama dengan konektor. Produsen perkawinan seumur hidup, seperti yang Anda harapkan, untuk konektor diperoleh dalam kondisi yang menguntungkan sehingga sering optimis dan tidak memperhitungkan penggunaan manusia kehidupan nyata. Periksa lembar data, konektor Edge - 50-100 penyisipan, penyisipan RJ45 500-1000, Micro- USB 5000-10000. Jadi ya, Anda benar, mematikan soket di dinding adalah pilihan terbaik.
image_doctor
Harap tambahkan saran ke jawaban Anda. Anda dan saya sampai pada kesimpulan, tetapi yang lain mungkin tidak melihat implikasinya.
Bengt
Juga bagaimana dengan switch? Apakah mereka dirancang untuk lebih banyak on / off-circle? Apakah ide yang baik untuk menempatkan saklar di sisi AC dari catu daya?
Bengt
2
Jika dapat dijangkau (dan tidak masuk ke peralatan yang lebih mahal seperti desktop / laptop) saya merasa lebih baik untuk memasang-pasang ujung kabel USB "A". Kabel murah untuk diganti, dan ujung "A" umumnya lebih mudah ditancapkan dan dicabut tanpa mengharuskan Anda untuk memegang papan dengan kuat dengan jari-jari Anda.
Chris Stratton
6

Saya masuk ke Raspberry Pi saya dari jarak jauh, dan inilah cara saya mematikannya:

  1. Jalankan perintah:
    sudo shutdown -h now
  2. Tunggu sampai LED berhenti berkedip pada Raspberry Pi.
  3. Tunggu lima detik tambahan untuk ukuran yang baik (opsional).
  4. Matikan powerstrip tempat catu daya Raspberry Pi dicolokkan.

Karena saya menggunakan tampilan jarak jauh, saya tidak perlu melihat hasil akhir Raspberry Pi di jendela perintah, itulah sebabnya saya menggunakan lampu aktivitas. Keadaan LED yang tidak berkedip bukanlah indikasi absolut dari pematian total yang sukses, tetapi sudah cukup baik bagi saya.

PiHax
sumber
3

Untuk menghindari masalah kerusakan kartu SD, Anda harus selalu mematikan OS dengan benar. Anda dapat mengotomatiskan ini dengan menggunakan solusi perangkat keras pengontrol daya dan skrip yang dipicu melalui sinyal port GPIO, misalnya (selain Pi Supply yang disebutkan di atas):

Papan RemotePi di tautan terakhir memiliki fungsi tambahan menggunakan remote IR untuk menghidupkan / mematikan Raspberry Pi.

pengantar pos
sumber
2

Jika Raspberry Pi Anda dibekukan maka Anda tidak dapat masuk ke ssh atau konsol, maka ini membantu. Saya mematahkan beberapa kartu SD saya sebelum tahu ini:

Tahan Alt + PrintScreen, dan sambil menahan tombol-tombol itu, tekan tombol berikut secara berurutan, satu per satu, dengan jeda beberapa detik di antaranya.

Alt+ PrintScreen+R E I S U O

atau

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

Sebuah mnemonic yang berguna untuk diingat yaitu, Reboot Sekalipun Sistem Benar-Benar Rusak.

Ganti "O" untuk "B" untuk mematikan sistem alih-alih reboot (O = off, B = boot).

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

Almas Dusal
sumber
1
sumber utama: en.wikipedia.org/wiki/Magic_SysRq_key (harap perhatikan tata letak keyboard Anda)
Fabian
1

Ini tidak terlalu sulit. Pergilah ke command prompt, dan ketik sudo halt. Masukkan kata sandi Anda jika perlu. Setelah tidak ada apa pun di layar, tarik steker.

Info dari situs Raspberry Pi.

Algo
sumber
Saya hanya akan menambahkan bahwa setelah layar menjadi gelap saya periksa ulang untuk memastikan lampu hijau juga keluar.
SDsolar
1

Ada juga papan GPIO yang disebut Pi Supply yang memiliki sakelar hidup, manajemen daya, dan pengaman untuk penguncian. Ini juga berguna jika steker Anda ada di belakang TV dan sulit dijangkau. Anda masih perlu mematikan secara normal, tetapi kemudian mematikan Raspberry Pi.

Jika Anda khawatir tentang mengenakan port micro USB daya dalam penggunaan normal, Anda bisa mendapatkan adaptor USB pria-wanita dan colokkan catu daya Anda ke sana.

Graeme
sumber
1

Ada beberapa cara untuk mematikan pi! Hanya menarik steker tanpa mematikan yang tepat dapat merusak kartu SD Anda!

Untuk mematikan, gunakan sudo shutdown -nowatau sudo shutdown -timeberi tahu shutdown dalam hitungan menit.

Untuk me-reboot gunakan sudo rebootuntuk me-restart dan sudo reboot -time in minutesuntuk menghidupkan kembali dan atau gunakan hanya sudo rebootuntuk me-restart sekarang sudo shutdowntanpa -timeakan default ke satu menit untuk membatalkan penggunaan shutdownsudo shutdown -c

Catatan: Anda juga dapat menekan tombol raspberry pi dan kemudian klik power. Kemudian shutdown atau reboot juga yang shutdown dan restart keduanya langsung!


Memperbarui:

Seperti dijelaskan dalam beberapa jawaban lain di pos ini:

sudo halt

Juga akan berfungsi: setelah tidak ada apa-apa di layar, tarik saja stekernya!

Pengguna98764431
sumber
"tidak ada cara untuk hidup tanpa menarik steker dan memasangnya kembali" -> Salah. Header RUN dapat digunakan untuk melakukan reset hard dari SoC, menyebabkannya untuk boot (apakah OS telah dimatikan atau tidak ...): raspberrypi.stackexchange.com/q/29339/5538 Pada beberapa model ini diberi label P6, bukan RUN.
goldilocks
@goldilocks Terima kasih, saya tidak tahu bahwa saya menghapusnya dari posting saya
User98764431
0

Anda tidak benar-benar membutuhkan saklar daya untuk Raspberry Pi Anda. Saya menggunakan hub USB untuk catu daya yang memiliki sakelar hidup / mati. Jadi, setiap kali saya ingin mematikan Raspberry Pi, saya hanya mematikan sakelar USB.

Jim
sumber
20
Itu bukan ide yang baik untuk hanya kekuatan Pi - YOu dapat mengambil risiko kehilangan data atau korupsi dalam penurunan daya tiba - tiba. Lebih baik untuk selalu menutup sebagaimana dimaksud. misalnya - FreeNAS (berdasarkan FreeBSD) aman untuk melakukan itu karena root hanya bisa dibaca; Tapi, karena itu NAS! data dapat hilang saat menulis ke hard drive Anda .. Jadi pada akhir hari. Selalu gunakan metode shutdown yang diterapkan!
Piotr Kula
0

Anda hanya harus menarik steker, jika led hijau dimatikan. Led hijau berkedip, jika mesin menulis ke kartu sd.

Harun
sumber
0

Perintah unix normal bekerja dengan Linux, seperti:

init 0 akan mematikannya sehingga aman untuk menarik steker.

init 6 akan reboot.

Tidak seperti unix, tidak ada kebutuhan nyata untuk melakukan sinkronisasi; sinkronkan; sebelum dimatikan. Tetapi hanya dengan menarik steker dapat menyebabkan kesalahan, jadi pastikan untuk menggunakan shutdown atau init 0 sebelum memutuskan daya. Jika Anda benar-benar mengganggu daya secara tidak terduga, gunakan fsck untuk memeriksa dan / atau memperbaiki masalah yang mungkin timbul.

Mungkin ada kasus untuk melakukan sinkronisasi penuh; sinkronkan; sinkronkan; tidur 30; berhenti jika Anda memiliki sistem file eksternal yang tidak di-unmount dengan bersih. Anda akan tahu apakah ini masalah dengan menjalankan fsck pada sistem file eksternal segera setelah booting. Jika menemukan masalah maka Anda mungkin ingin melakukan semuanya. Tapi saya belum pernah melihat ini terjadi dengan Rpi3 saya.

SDsolar
sumber
0

Selalu gunakan perintah untuk mematikan dan mematikan Raspberry Pi Anda. Saya menggunakan sudo berhenti seperti banyak pengguna lain. Saya sarankan mencadangkan kartu SD Anda. Saya sengaja mencabut kartu saya dan entah bagaimana merusak gambar. Lebih mudah untuk mematikan daripada membakar gambar baru dan memulai kembali

Pismurf
sumber