好的,这样可以运行树莓派(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()