使用raspd上的systemd在重新启动时自动运行python文件

时间:2017-09-25 03:59:00

标签: python systemd

我正在尝试使用systemd在重新启动时自动运行python文件。我尝试使用systemd的原因是因为我的python文件要求网络在那个时间点连接并且可用,并且/ home / pi目录需要准备好使用并且系统时间已经由NTP更新继续。 但是,当我尝试启动脚本时,我收到以下错误:

systemctl start mysript.service
  

无法启动myscript.service:单元myscript.service失败   load:参数无效。请参阅系统日志和'systemctl status   myscript.service'了解详情。

systemctl status myscript.service
  

myscript.service       已加载:错误(原因:参数无效)       活动无效(死)

     

myscript.service缺少ExecStart设置。拒

以下是myscript.service:

[unit]
Description=MyPythonFile
After=multi-user.target

[service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/mypythonfile/file.py

[Install]
WantedBy=multi-user.target

有人知道我收到此错误的原因吗?

[[编辑]] 引用了这篇文章:https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/

现在可以加载服​​务,但是因为我的python程序正在使用Tkinter而收到错误。

_tkinter.TclError: couldn't connect to display "0.0"
myscript.service: main process exited, code=exited, status=1/FAILURE
Unit myscript.service entered failed state.

我该怎么做才能解决此错误?

1 个答案:

答案 0 :(得分:0)

关注此帖:https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/

似乎[unit]和[service]应该有一个资本: 所以他们现在成了 - [单位]和[服务]。

这可能是无关紧要但可能会改变

/usr/bin/python3

/usr/bin/python

修改

“我会尝试打开./.config/lxsession/LXDE-pi/autostart 使用文本编辑器并添加带有前导'@'的python脚本 @python HomeV3.py 您可能需要一个脚本路径。“ - 感谢SurferTim - https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=184797

希望这有帮助!