我的Raspbian不会通过Python应用程序重启

时间:2015-01-21 08:50:16

标签: python linux raspberry-pi raspbian reboot

我正在拼命试图找到一种方法来强制我的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)

2 个答案:

答案 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调用原始脚本以使其正常工作。