Raspberry Pi - Python - Проверьте, записывается ли диск на

1

Хорошо, так что запускаем малиновый pi (RetroPie) и запускаем скрипт python, но я хочу избежать любого возможного повреждения данных при нажатии кнопки питания.

Есть ли способ проверить, записывается ли какой-либо из подключенных дисков, и если так, чтобы ждать и проверять снова каждые 2 секунды, пока не обнаружит, что ничего не записывается, а затем продолжает закрывать.

Я использую retroflag-picase -SafeShutdown.py

#!/usr/bin/env python3
from gpiozero import Button, LED
import os 
from signal import pause

powerPin = 3 
resetPin = 2 
ledPin = 14 
powerenPin = 4 
hold = 1
led = LED(ledPin)
led.on()
power = LED(powerenPin)
power.on()

#functions that handle button events
def when_pressed():
  led.blink(.2,.2)
  # Do check here #
  os.system("sudo killall emulationstation && sleep 5s && sudo shutdown -h now")
def when_released():
  led.on()
def reboot(): 
  os.system("sudo killall emulationstation && sleep 5s && sudo reboot")

btn = Button(powerPin, hold_time=hold)
rebootBtn = Button(resetPin)
rebootBtn.when_pressed = reboot 
btn.when_pressed = when_pressed
btn.when_released = when_released
pause()
Теги:
raspberry-pi

1 ответ

2
Лучший ответ

Вы можете использовать os.sync() чтобы дождаться, пока все будет записано на диск. Или вы можете использовать cmd sudo sync вместо sleep 5s перед перезагрузкой

  • 0
    работает как шарм спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню