我是通过crontab
来实现的。
比如需要开机运行/home/pi/onenet/onenet.py
并把错误log写入/home/pi/onenet/onenet.log
,那么crontab -e
之后插入一行:
@reboot sleep 60 && nohup python /home/pi/onenet/onenet.py>>/home/pi/onenet/onenet.log 2>&1 &
然后sudo reboot
即可。
添加sleep 60
是为了保证网络已经就绪,因为我的python脚本需要网络才能执行,如果执行的时候网络没有就绪会导致出错而无法执行。
如果你需要开机启动多个python脚本,可以把它们都写在一个shell脚本中,使用sudo chmod +x
给它执行权限,在crontab开机运行这个脚本即可。
进一步的,甚至可以在crontab中开机运行screen -S 命令
来开启一个screen窗口来进行交互。