Треба просто витягнути вилку? Або найкраще, якщо я спочатку вийду з LXDE та будь-яких інших запущених процесів?
sudo halt -p
зробимо це.
Треба просто витягнути вилку? Або найкраще, якщо я спочатку вийду з LXDE та будь-яких інших запущених процесів?
sudo halt -p
зробимо це.
Відповіді:
Ви точно не хочете просто тягнути вилку. Це може спричинити проблеми із SD-карткою та файловою системою.
Використовуючи командний рядок або вікно терміналу, ви можете ввести наступне для чистого відключення:
sudo shutdown -h now
Після того, як він скаже, що система зупинилася , ви можете вийняти шнур живлення, якщо це потрібно.
Найкраще завжди, якщо зможете, вимкнути правильно.
Постійне відключення пристрою без витонченого вимикання може спричинити небажаний вплив на SD-карту (темпераментний об’єкт уже).
Для довідки, для відключення від терміналу ви можете скористатися:
sudo shutdown -h now
або
sudo halt
Ці команди надсилаються SIGTERM
до всіх запущених процесів, сповіщаючи їх про збереження своїх даних та вихід. Потім він надсилає SIGKILL
всі процеси, що залишилися, щоб зупинити систему з подальшим відключенням всіх файлових систем. Потім з’явиться екран, System Halted
і ви зможете витягнути вилку.
sudo poweroff
також працює чудово.
halt
, shutdown
і poweroff
?
halt
. Крім того, ви можете вказати halt
відразу зупинити ядро / процесор, не знімаючи жодних процесів; з цієї причини я б дотримувався використання, shutdown
якщо у вас немає конкретної причини цього не робити.
Я також використав це рішення shutdown.py .
Вам потрібно буде знайти фізичний вимикач і припаяти його до штифтів 6 та 8 заголовка 5 . Я взяв свою зі старої зламаної дошки Arduino. Я також просвердлив невеликий отвір у корпусі, щоб переконатися, що я можу натиснути кнопку маленькою дерев’яною шпилькою, коли корпус закритий.
Ось як це виглядає:
Я стежив за проектом, описаним у Raspberry Pi Shutdown Switch - Безпечне відключення Pi , але встановив штифт 17, щоб його внутрішньо витягнути. Потім підключіть дроти, як у вищезгаданому проекті, але не залишайте резисторів і додайте наступний скрипт 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)
замість циклу while, більш чуйний.
Інші міркування, окрім потужності та інших з'єднувачів, будуть розраховані на обмежену кількість циклів вставки / відключення. Часто це напрочуд низька кількість.
Статистично роз'єми є дуже ймовірним джерелом несправності обладнання.
З огляду на загальну довговічність Вашого Pi, ви, можливо, захочете зменшити кількість вставлених / відключених роз'ємів, які він відчуває. Одним із способів допомогти це буде використання перемикача включення / вимкнення розетки електромережі.
Я входжу в свою програму Raspberry Pi віддалено, і ось, як я її вимкнув:
sudo shutdown -h now
Оскільки я використовую віддалений дисплей, я не обов'язково бачу остаточний вихід Raspberry Pi у вікні команди, тому я використовую індикатори активності. Стан світлодіодів, що не миготить, не є абсолютною ознакою повного успішного відключення, але він працював досить добре для мене.
Щоб уникнути проблем із пошкодженням SD-картки, завжди слід правильно вимикати ОС. Ви можете автоматизувати це, скориставшись апаратним рішенням контролера живлення та сценарієм, який спрацьовує через сигнал порту GPIO, наприклад (окрім згаданого вище джерела Pi):
Дошка RemotePi в останньому посиланні має додаткову функціональність використання ІК-пульта для включення / вимкнення Raspberry Pi.
Якщо ваш Raspberry Pi заморожений, ви не можете перейти до ssh чи консолі, тоді це допомагає. Мені було порушено кілька моїх карт SD, перш ніж знали це:
Утримуючи обидві клавіші Alt + PrintScreen, і, утримуючи ці клавіші, натискайте наступні клавіші послідовно, одна за одною, з декількома секундами паузи між ними.
Alt+ PrintScreen+R E I S U O
або
Alt+ PrintScreen+ R E I S U B(перезавантажити)
Зручне мнемонічне пам’ятання про те, що потрібно перезавантажити, навіть якщо система повністю порушена.
Замініть "O" на "B", щоб вимкнути систему замість перезавантаження (O = вимкнено, B = завантаження).
Джерело: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262
Це не дуже важко. Зайдіть у командний рядок та введіть sudo halt
. Введіть свій пароль, якщо потрібно. Як тільки на екрані нічого немає, витягніть вилку.
Інформація з веб-сайту Raspberry Pi.
Існує також плата GPIO під назвою Pi Supply, яка має вимикач, керування живленням та жорстке відключення блокування. Також корисно, якщо ваш штепсель знаходиться за телевізором і до нього важко дістатися. Вам все-таки потрібно нормально вимкнутись, але він вимикає Raspberry Pi.
Якщо ви стурбовані тим, що при звичайному використанні не буде встановлено роз'єм мікро USB-порту, ви можете отримати USB-адаптер від чоловіка до жінки та підключити блок живлення до цього.
Існує кілька способів вимкнути пі! Просто витягування штепсельної вилки без належного відключення може пошкодити вашу SD-карту!
Щоб вимкнути, використовуйте sudo shutdown -now
або sudo shutdown -time
повідомте про припинення роботи за лічені хвилини.
Щоб перезавантажити використання sudo reboot
для перезавантаження та sudo reboot -time in minutes
ввімкнення живлення та використання просто sudo reboot
для перезавантаження зараз sudo shutdown
без -time
замовчування до однієї хвилини для скасування використання вимкненняsudo shutdown -c
Примітка: Ви також можете натиснути кнопку малинового пі, а потім натиснути кнопку живлення. Тоді вимкнення або перезавантаження, а також відключення та перезапуск є негайними!
Як описано в деяких інших відповідях на цій публікації:
sudo halt
Також буде працювати: раз на екрані нічого немає, просто витягніть вилку!
Вам не потрібен вимикач живлення для вашого Raspberry Pi. Я використовую USB-концентратор для блоку живлення, який має вимикачі включення / вимикання. Отже, коли я хочу вимкнути Raspberry Pi, я просто відключаю USB-вимикач.
Звичайні команди Unix працюють з Linux, наприклад:
init 0 вимкне його, щоб надійно витягнути вилку.
init 6 перезавантажиться.
На відміну від unix, немає реальної потреби синхронізувати; синхронізація; перед вимкненням. Але просто витягнення штепсельної вилки може призвести до помилок, тому перед відключенням живлення обов'язково використовуйте вимкнення або init 0. Якщо у вас випадково перервано живлення, скористайтеся fsck, щоб перевірити та / або виправити будь-які проблеми, які можуть виникнути.
Можливо, випадок зробити повну синхронізацію; синхронізація; синхронізація; сон 30; зупиняйтеся, якщо у вас є зовнішня файлова система, яка не відключається чисто. Ви б знали, чи це проблема, запустивши fsck у зовнішніх файлових системах відразу після завантаження. Якщо це знаходить проблеми, то, можливо, ви захочете все зробити. Але я ніколи не бачив, щоб це сталося з моїм Rpi3.
Завжди використовуйте команду, щоб вимкнути та вимкнути Raspberry Pi. Я використовую sudo halt, як і багато інших користувачів. Рекомендую створити резервну копію вашої SD-карти. Я випадково відключив пробку від роз'єму і пошкодив зображення. Простіше відключити, ніж записати нове зображення і почати спочатку