我拼命地试图找到一种方法来强制我的运行Raspbian的Raspberry Pi在满足特定条件时重新启动(Python脚本),但是到目前为止我没有成功...
我已经通过使用popen尝试了以下语句:
sudo reboot -i -p
sudo reboot -f
sudo shutdown -r -f now
我认为问题可能是通过Python应用程序本身调用的,因此我编写了一个小型C程序来杀死所有正在运行的Python应用程序,然后重新启动,但没有成功...
我的树莓派电源足够(红色LED始终亮着),并且当从命令窗口直接调用时,我上面描述的所有命令都能正常工作。
任何帮助表示赞赏!
谢谢,
编辑:
根据需要添加我的python脚本:
from subprocess import Popen, PIPE
def reboot():
echo.echo("Rebooting...")
db.write_alarm(get_alarm_status())
upload.upload_log()
reboot_statement = "sudo shutdown -r -f now"
popen_args = reboot_statement.split(" ")
Popen(popen_args, stdout=PIPE, stderr=PIPE)
最佳答案
尝试这个:
创建一个名为reboot.py的文件,其中包含以下内容:
import os
os.system("shutdown -r now")
然后这样称呼它:
sudo python reboot.py
假设此方法有效,您可能可以使用sudo调用原始脚本以使其正常工作。