小编Jaz*_* He的帖子

Ubuntu systemctl 服务失败,并显示:主进程已退出,代码=已退出,状态=1/FAILURE

我正在编写一个 python 脚本,该脚本向本地主机 MQTT 代理订阅一些 MQTT 主题,当推送消息时,该脚本将调用同一目录中另一个脚本中的函数,以将更改加载到 SQL 数据库中。

\n

在终端中手动运行时,该脚本工作正常:

\n

python3 /directory/path/to/file/listen_mqtt.py

\n

但是,我试图让这个文件在 Ubuntu 系统启动时自动执行。我在以下位置创建了一项新服务:

\n

/lib/systemd/system/listen_mqtt_py.service

\n

服务描述如下:

\n
[Unit]\nDescription=Listen Mqtt\nAfter=mosquitto.service\nWants=network.target\nConflicts=getty@tty1.service\n\n[Service]\nType=simple\nExecStart=/usr/bin/python3 /home/bt/dev/dexter-mqtt-to-sql/listen_mqtt.py\nStandardInput=tty-force\n\n[Install]\nWantedBy=multi-user.target\n
Run Code Online (Sandbox Code Playgroud)\n

我还启用了该服务并尝试使用以下命令启动该服务:

\n

sudo systemctl enable listen_mqtt_py.service

\n

\n

sudo systemctl start listen_mqtt_py.service

\n

重新启动计算机并尝试手动运行该服务时,我收到以下消息:

\n
sudo systemctl status listen_mqtt_py.service\n\xe2\x97\x8f listen_mqtt_py.service - Listen Mqtt\n     Loaded: loaded (/lib/systemd/system/listen_mqtt_py.service; enabled; vendor preset: enabled)\n     Active: failed (Result: exit-code) since Tue 2020-11-17 13:45:28 AEDT; 14s ago\n    Process: 2206 ExecStart=/usr/bin/python3 /home/bt/dev/dexter-mqtt-to-sql/listen_mqtt.py (code=exited, status=1/FAILURE)\n   Main PID: 2206 (code=exited, status=1/FAILURE)\n\nNov …
Run Code Online (Sandbox Code Playgroud)

python ubuntu systemctl mqtt

7
推荐指数
1
解决办法
8万
查看次数

标签 统计

mqtt ×1

python ×1

systemctl ×1

ubuntu ×1