Ubuntu 具有 python 脚本的服务器 16.04 systemctl 服务 运行 但无法正常工作

Ubuntu Server 16.04 systemctl service with python script is running but not working

我已经在该站点上阅读了很多关于如何将 python 脚本作为服务实施的文章。

在摆弄之后,我发现服务是通过 systemctl(和 运行)启动的,但是脚本什么也没做...

我的配置文件在 /etc/systemd/system/:

[Unit]
Description=tg Bot

[Service]
Type=simple
User=user
WorkingDirectory=/home/user/tg_onduty/
ExecStart=/usr/bin/python3 /home/user/tg_onduty/on_duty.py
Restart=always

[Install]
WantedBy=multi-user.target

输出:

user@server:~$ sudo service tg_onduty status
● tg_onduty.service - Telegram OnDuty Bot
   Loaded: loaded (/etc/systemd/system/tg_onduty.service; enabled; vendor preset
   Active: active (running) since Thu 2018-02-15 11:28:20 CET; 2min 17s ago
 Main PID: 1538 (python3)
    Tasks: 9
   Memory: 17.7M
      CPU: 351ms
   CGroup: /system.slice/tg_onduty.service
           └─1538 /usr/bin/python3 /home/user/tg_onduty/on_duty.py

我已阅读 https://unix.stackexchange.com/questions/339638/difference-between-systemd-and-terminal-starting-program/339645#339645 并了解 运行 通过 systemctl 的脚本与通过 CLI 的 运行 不同(通过 CLI /usr/bin/python3 /home/user/tg_onduty/on_duty.py正在工作)。

我现在的问题是:

我如何跟踪或查看哪里出了问题或为什么脚本似乎什么都不做? 通过 Journalctl 我只看到:2 月 15 日 11:56:17 服务器 systemd[1]:已启动 tg Bot。

感谢任何帮助。

谢谢,

大卫

您确定您编写的脚本根本不是 运行 吗?尝试将日志放入您的脚本中,以查看脚本中的某些内容是否不起作用。

在脚本中添加一个简单的动作。也许回声或创建一个虚拟文件。这是了解它是否有效的最简单方法