如何从Raspbian上的systemd服务正确重定向stdout/stderr?

2024-05-16 03:17:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我用systemd在Raspbian(杰西)上设置了一个服务,让它在启动后启动。守护程序配置如下:

[Unit]
After=multi-user.target

[Service]
Type=idle
User=root
ExecStart=/bin/sh -c "exec /home/pi/sources/mydaemon.py >> /home/pi/mydaemon.log 2>&1"

[Install]
WantedBy=multi-user.target

重定向>>不起作用。我已经尝试了StandardOutputStandardError可用的大多数选项,但它们永远不会将我的脚本输出打印到/var/log/daemon.log,而且journalctl -u mydaemon.service只显示有关服务启动和停止的消息。

我现在不会用脚本中的文件描述符做任何有趣的事情。我只希望我的print()logging.info()语句出现在我可以阅读它们的地方。有什么想法吗?

(为了清楚起见,守护进程必须以根用户身份运行。这和我的印刷问题有关吗?)


Tags: 程序脚本logtargethometypeservicepi