【问题标题】:Systemd - Python script Main process exited, code=exited, status=1/FAILURESystemd - Python 脚本主进程退出,代码=退出,状态=1/失败
【发布时间】:2021-10-23 06:17:30
【问题描述】:

大家好,情况如下:
我连接到 AWS 的基于 ubuntu 的 EC2 机器(我目前正在使用 Ubuntu 18.04)。 我可以管理机器内的文件并从终端运行脚本,但我希望机器即使在我未连接时也能运行脚本。所以我想到了一项服务。

使用 systemd 我在 /lib/systemd/system 上找到了这个文件:

[Unit] Description=Test Service After=network.target
冲突=getty@tty1.service

[服务] 类型=simple ExecStart=/usr/bin/python3 /home/ubuntu/GreenHouse/Catalog/Catalog_REST.py
标准输入=tty-force

[安装] WantedBy=multi-user.target

我启动了服务,但是当我检查状态时:

 sudo systemctl status CATALOG_REST-py.service

我收到此错误:

● CATALOG_REST-py.service - 已加载测试服务:已加载 (/lib/systemd/system/CATALOG_REST-py.service;已启用;供应商预设: 已启用)活动:自 2021 年 8 月 22 日星期日起失败(结果:退出代码) 世界标准时间 16:54:13; 1s 前 进程:23968 ExecStart=/usr/bin/python3 /home/GreenHouse/Catalog/Catalog_REST.py (code=exited, status=1/FAILURE) 主 PID: 23968 (code=exited, status=1/FAILURE)

8 月 22 日 16:54:13 ip-172-31-13-245 systemd[1]:开始测试服务。八月 22 16:54:13 ip-172-31-13-245 systemd[1]: CATALOG_REST-py.service: 主要 进程退出,code=exited,status=1/FAIL Aug 22 16:54:13 ip-172-31-13-245 systemd[1]: CATALOG_REST-py.service: 失败 结果“退出代码”。

我想说,如果我在终端 python3 /home/GreenHouse/Catalog/Catalog_REST.py 运行,它可以工作。

您知道获得对错误的更好解释的一些方法吗?

【问题讨论】:

    标签: python ubuntu service systemd autorun


    【解决方案1】:

    正如here 中更好地描述的那样,该问题可能与运行时环境有关。

    在这种情况下,根据我的经验,一种可能的快速解决方案是将您的服务替换为以下服务(仅ExecStart 行不同):

    [Unit] 
    Description=Test Service After=network.target
    Conflicts=getty@tty1.service
    
    [Service] 
    Type=simple 
    ExecStart=/bin/sh -c "/usr/bin/python3 /home/ubuntu/GreenHouse/Catalog/Catalog_REST.py"
    StandardInput=tty-force
    
    [Install] 
    WantedBy=multi-user.target
    

    然后重新加载systemd manager配置并重启你的服务:

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

    【讨论】:

    • 感谢您的关注。最后,我改变了策略:我决定使用 tmux 会话来同时运行不同的代码,即使我没有连接。它最终起作用了,即使它的计算量很大。事实上,EC2 曾经在许多 tmux 会话打开时崩溃。但是,我不知道它是否真的取决于 tmux,以及使用不同方法的结果是否相同。无论如何,我完成了大学项目,tmux 是一个有用且快速的解决方案!
    猜你喜欢
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多