我拼命地试图找到一种方法来强制我的运行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调用原始脚本以使其正常工作。

10-02 06:36