linux 使用Systemd启动Python脚本的问题(code=exited,status=2/INVALIDARGUMENT)

7uhlpewt  于 2023-11-17  发布在  Linux
关注(0)|答案(1)|浏览(133)

我目前正在尝试有一个程序启动时,树莓派3我正在使用的 Boot .该程序控制无人机,并将需要一个网络连接之前开始.当我尝试使用Systemd启动此程序,我得到这个错误消息;

droneStartup.service - The Drone Startup service.
   Loaded: loaded (/etc/systemd/system/droneStartup.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2019-04-15 14:06:24 EDT; 1s ago
  Process: 1895 ExecStart=/bin/bash /home/pi/Systemd_test.py (code=exited, status=2)
 Main PID: 1895 (code=exited, status=2)

Apr 15 14:06:24 pi systemd[1]: Started The Drone Startup service..
Apr 15 14:06:24 pi bash[1895]: from: can't read /var/mail/time
Apr 15 14:06:24 pi bash[1895]: /home/pi/Systemd_test.py: line 4: syntax error near unexpected token `'Looping...''
Apr 15 14:06:24 pi bash[1895]: /home/pi/Systemd_test.py: line 4: `    print('Looping...')'
Apr 15 14:06:24 pi systemd[1]: droneStartup.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Apr 15 14:06:24 pi systemd[1]: droneStartup.service: Unit entered failed state.
Apr 15 14:06:24 pi systemd[1]: droneStartup.service: Failed with result 'exit-code'.

字符串
这是我用来测试启动的占位符程序;

from time import sleep

while True :
    print('Looping...')
    sleep(1)


这是我正在使用的.service文件;

[Unit]
Description=The Drone Startup service.
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/bin/bash /home/pi/Systemd_test.py

[Install]
WantedBy=multi-user.target


我不知道为什么它会出现语法错误,并将非常感谢任何帮助这个问题。

wf82jlnq

wf82jlnq1#

您正在尝试使用bash exec运行py文件。
需要阅读:

ExecStart=/usr/bin/python /home/pi/Systemd_test.py

字符串

假设您的Python库位于/usr/bin/python

相关问题