Raspberry pi 用于重新启动Raspberry Pi的Python脚本

Raspberry pi 用于重新启动Raspberry Pi的Python脚本,raspberry-pi,Raspberry Pi,我想我想要的是直截了当的 Python脚本在23小时59分钟后重新启动我的Raspberry Pi。我之所以尝试这样做,而不是使用cron任务设置时间,是因为Pi没有用于时钟的板载电池,所以我不在乎时间是多少(如果连接到internet,它将提供当前时间),只是从脚本开始倒数23小时59分钟 这就是我所能做到的 def restart(): SendEmail = SendEmail "SYSTEM RESTART", "ncam.py auto restart initiated"

我想我想要的是直截了当的

Python脚本在23小时59分钟后重新启动我的Raspberry Pi。我之所以尝试这样做,而不是使用cron任务设置时间,是因为Pi没有用于时钟的板载电池,所以我不在乎时间是多少(如果连接到internet,它将提供当前时间),只是从脚本开始倒数23小时59分钟

这就是我所能做到的

def restart():
SendEmail = SendEmail "SYSTEM RESTART", "ncam.py auto restart initiated"      msg['Subject'], body)
command = "/usr/bin/sudo /sbin/shutdown -r now"
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
output = process.communicate()[0]

此外,我还想向自己发送一封电子邮件,其中包含上述设置的参数。

您将需要此参数的一些变体:

 import time
 import os
 currentTime = time.time()
 tomorrow = currentTime + 86340000
 while time.time() < tomorrow:
     do.yourCode()
    
 os.system("poweroff")
导入时间
导入操作系统
currentTime=time.time()
明天=当前时间+86340000
while time.time()<明天:
do.yourCode()
操作系统(“断电”)

在函数中添加类似的内容,它将执行您想要的操作。

您可能应该更改为

while time.time() < tomorrow
while time.time()<明天

为了避免任何可能的精确毫秒的“遗漏”。

您只需使用“sudo reboot”命令重新启动raspberry即可。 只需将此命令放入python代码中,并将其作为系统命令运行即可。例如,此代码在重新启动前从1倒计时到10:

import time
import os
for i in range(1,10):
       print 'hello',i
       #Do your code here
       time.sleep(1)
os.system("sudo reboot")

使用此方法可以在任何时间倒计时并重新启动pi。

只是想一想,为什么不创建一个cron作业(或类似作业)并执行一个python命令来重新启动pi?否则(如下所示),您必须让python保持循环,我不确定运行该脚本需要多少cpu/内存;重启?虽然你是对的(我必须承认我也这么认为),但这似乎是对while time.time()的评论。看见