我在本网站上阅读了很多关于如何将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。
感谢任何帮助。
谢谢,
大卫
答案 0 :(得分:0)
你确定脚本根本没有运行吗?尝试将日志放入脚本中,以查看脚本中的某些内容是否无效。
答案 1 :(得分:0)
向脚本添加一个简单的操作。也许回应一些东西或创建一个虚拟文件。这是了解它是否有效的最简单方法