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