Linux输出重定向守护程序不起作用

时间:2017-10-17 23:05:08

标签: python linux output daemon

我有一个像这样的python脚本:

while True:
    print("ok")

我创建了一个守护进程test.service:

[Unit]
Description=Un service de test.

[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/andy/Desktop/test.py > /home/andy/Desktop/test.log 2>&1

[Install]
WantedBy=multi-user.target

我用sudo systemctl start test.service激活它。 没有创建日志文件:输出重定向不起作用。

当我编写systemctl status test.service时,我有:

● test.service - Un service de test.
   Loaded: loaded (/etc/systemd/system/test.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-10-18 00:50:29 CEST; 20s ago
 Main PID: 3651 (python3)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/test.service
           └─3651 /usr/bin/python3 /home/andy/Desktop/test.py > /home/andy/Desktop/test.log 2>&1

oct. 18 00:50:29 andy-G551JW systemd[1]: Started Un service de test..
oct. 18 00:50:29 andy-G551JW python3[3651]: ok
oct. 18 00:50:29 andy-G551JW python3[3651]: ok

如何在守护程序脚本中重定向输出?

1 个答案:

答案 0 :(得分:1)

不要重定向其输出。让脚本打印到stdout。 Systemd会将其输出存储在systemd日记中,您可以使用journalctl -u testsystemctl status test进行查看。