我正在拼命试图找到一种方法来强制我的Raspberry Pi运行Raspbian,以便在满足某个条件时重启(Python脚本),但到目前为止我没有成功...
我使用popen尝试了以下语句:
sudo reboot -i -p
sudo reboot -f
sudo shutdown -r -f now
我认为问题可能是通过Python应用程序本身调用它,因此我编写了一个小程序来杀死所有正在运行的Python应用程序,然后重启,但没有成功......
我的Raspberry有足够的供电(红色LED一直亮着),直接从命令窗口调用上面描述的所有命令都可以正常工作。
感谢任何帮助!
谢谢,
EDITED: 根据需要添加我的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)
答案 0 :(得分:0)
您应该传递shell=True
id,希望shell处理参数
Popen("sudo shutdown -r -f now", stdout=PIPE, stderr=PIPE, shell=True)
答案 1 :(得分:0)
试试这个:
使用以下内容创建名为reboot.py的文件:
import os
os.system("shutdown -r now")
然后这样称呼:
sudo python reboot.py
假设这有效,您可以使用sudo调用原始脚本以使其正常工作。