Raspberry Pi-Python-检查是否将驱动器写入

时间:2018-08-26 09:12:37

标签: python raspberry-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()

1 个答案:

答案 0 :(得分:2)

您可以使用os.sync()等到所有内容都写入磁盘。或者,您可以在重启前使用cmd sudo sync代替sleep 5s

相关问题