4

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

在 23 小时 59 分钟后重新启动我的 Raspberry Pi 的 Python 脚本。我之所以尝试这样做,而不是使用 cron 作业设置时间,是因为 Pi 没有用于时钟的板载电池,所以我不在乎时间是什么(如果连接到互联网,它将获取当前时间) ,从脚本开始倒计时 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]

另外我想用上面设置的参数给自己发送一封电子邮件。

4

3 回答 3

4

你会想要这个的一些变体:

 import time
 import os
 currentTime = time.time()
 tomorrow = currentTime + 86340000
 while time.time() < tomorrow:
     do.yourCode()
    
 os.system("poweroff")

在你的函数中加入类似的东西,它会做你想做的事。

于 2013-09-01T16:24:10.413 回答
2

您可能应该更改为

while time.time() < tomorrow

以避免任何潜在的“错过”精确的毫秒匹配。

于 2014-11-20T08:50:21.613 回答
2

您可以使用“sudo reboot”命令简单地重新启动树莓派。只需将此命令放在 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。

于 2016-01-17T17:27:40.370 回答