无法运行Python脚本作为Service SystemCtl

发布于 2025-02-06 15:34:37 字数 2060 浏览 1 评论 0原文

我有遵循SystemCtl服务

[Unit]
Description=Ml api

[Service]
#user=root

ExecStart=/usr/local/bin/python3.9 -u /home/[email protected]/bsv_ml_api/app.py

ExecStop=/bin/kill -15 $MAINPID
Type=forking

#KillMode=process

#SyslogIdentifier=ml-api
#SyslogFacility=daemon

Restart=on-failure

[Install]
WantedBy=multiuser.target

运行它时, 。 sudo journalctl -u ml.service -e显示,

    ml.service - Ml api
   Loaded: loaded (/usr/lib/systemd/system/ml.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Fri 2022-06-10 11:38:38 MSK; 1 day 23h ago
 Main PID: 77614 (code=exited, status=203/EXEC)

Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Unit ml.service entered failed state.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service failed.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service holdoff time over, scheduling restart.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Stopped Ml api.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: start request repeated too quickly for ml.service
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Failed to start Ml api.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Unit ml.service entered failed state.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service failed.

但是,如果我直接运行

 /usr/local/bin/python3.9 -u /home/[email protected]/bsv_ml_api/app.py

所有内容,脚本还可以,并且脚本启动,

INFO:     Started server process [4401]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:1111 (Press CTRL+C to quit)

我不知道问题所在。它是fastapi + uvicorn应用。

I have following systemctl service

[Unit]
Description=Ml api

[Service]
#user=root

ExecStart=/usr/local/bin/python3.9 -u /home/[email protected]/bsv_ml_api/app.py

ExecStop=/bin/kill -15 $MAINPID
Type=forking

#KillMode=process

#SyslogIdentifier=ml-api
#SyslogFacility=daemon

Restart=on-failure

[Install]
WantedBy=multiuser.target

When i run it i got an error. The sudo journalctl -u ml.service -e shows

    ml.service - Ml api
   Loaded: loaded (/usr/lib/systemd/system/ml.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Fri 2022-06-10 11:38:38 MSK; 1 day 23h ago
 Main PID: 77614 (code=exited, status=203/EXEC)

Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Unit ml.service entered failed state.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service failed.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service holdoff time over, scheduling restart.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Stopped Ml api.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: start request repeated too quickly for ml.service
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Failed to start Ml api.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: Unit ml.service entered failed state.
Jun 10 11:38:38 srv-ml-api.corp.bsv.legal systemd[1]: ml.service failed.

However, if i run directly

 /usr/local/bin/python3.9 -u /home/[email protected]/bsv_ml_api/app.py

Everything is ok and the script started

INFO:     Started server process [4401]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:1111 (Press CTRL+C to quit)

I don't know where the problem is. It's FastAPI + uvicorn app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

油饼 2025-02-13 15:34:37

原来我需要指定python env

Environment="PYTHONPATH=$PYTHONPATH:/home/[email protected]/.local/lib/python3.9/site-packages"

Turns out i need to specify python env

Environment="PYTHONPATH=$PYTHONPATH:/home/[email protected]/.local/lib/python3.9/site-packages"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文