2014-02-09 96 views
2

我以root用户身份运行python脚本。 (我知道它没有被推荐,但在我的情况下它确定。) 在该脚本的末尾,根据一些条件我需要重新启动树莓。通过cronjob重新启动系统

我已经尝试了几个代码,但实际上都没有重新启动机器。我已经在我的.py文件的末尾尝试了这一点:

os.system("shutdown -r now") 
reboot 
sudo reboot 
os.system("reboot") 

没有一个重新引导树莓。什么是重新启动系统的正确代码?

+0

(例如,如果重新启动条件是 '每一个' 60秒,然后在下面的crontab将工作)EDITOR = VI TERM = VT100 出口EDITOR TERM 的crontab -e 60 * * * * shutdown -r now – Madhusoodan

+0

nope,条件是执行的.py文件中的if语句。我需要从脚本内部重新启动。 – user2452250

+0

我只是试过,我看到只是os.system(“关机/ R”)工作正常 – Madhusoodan

回答

1

只是这应该工作:

import os 
os.system("shutdown /r") 
+0

谢谢!它也可以延迟几秒钟? – user2452250

+0

似乎没有工作..它只是没有做任何事情..没有错误,也没有任何东西。其余的代码工作正常。 – user2452250

+0

我很惊讶。我让其他人提供反馈。 – Madhusoodan

5

这应该工作:

import os 
os.system('/sbin/shutdown -r now') 

这是因为cron作业没有环境,所以你要提供给“关机”程序的完整路径,否则系统找不到它。

-3
import os 
os.system("shutdown -r now /r") 
+0

这似乎是其他答案的副本或近似副本。除非你有一些有意义的补充,否则这应该是对另一个答案的评论,或者简单地省略。 –