You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 Ubuntu下systemd运行Python脚本报status=1/FAILURE排查求助

systemd运行Python脚本失败的排查方案

1. 拉取服务完整运行日志

systemd服务的所有标准输出、错误输出默认都会记录到journald日志中,执行以下命令即可查看该服务的完整运行日志,包含Python脚本抛出的具体异常信息:

sudo journalctl -u CATALOG_REST-py.service -n 100 --no-pager

如果需要实时观察服务重启后的报错,加上-f参数即可实时滚动刷新日志。

2. 先修复服务配置中的已知错误

你当前的服务配置存在两处明显问题,是大概率的失败诱因:

  • 路径不统一:服务配置中写的ExecStart路径是/home/ubuntu/GreenHouse/Catalog/Catalog_REST.py,但报错信息中显示实际执行的路径是/home/GreenHouse/Catalog/Catalog_REST.py,确认脚本真实存放路径后统一配置即可。
  • 不必要的终端绑定:后台服务不需要绑定终端输入,删除StandardInput=tty-force这行配置即可,systemd后台运行时不会分配终端,该配置会直接触发脚本退出。

建议补充以下配置项避免权限、相对路径相关问题:

[Service]
# 指定和你手动运行时相同的用户,避免权限问题
User=ubuntu
# 指定脚本所在的工作目录,避免相对路径读取文件失败
WorkingDirectory=/home/ubuntu/GreenHouse/Catalog
ExecStart=/usr/bin/python3 Catalog_REST.py
Type=simple

修改完配置后需要重载systemd配置再重启服务:

sudo systemctl daemon-reload
sudo systemctl restart CATALOG_REST-py.service

3. 模拟systemd运行环境复现问题

如果修改配置后仍报错,可以手动模拟systemd的运行环境定位问题:

# 切换到root用户,匹配systemd默认运行身份
sudo su
# 执行服务配置中的命令,直接观察报错
/usr/bin/python3 /home/ubuntu/GreenHouse/Catalog/Catalog_REST.py

你手动用ubuntu用户运行脚本正常,大概率是root用户运行时缺少Python依赖、或者无法读取相对路径下的配置文件导致的异常。

内容的提问来源于stack exchange,提问作者etnamaid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:09:01