Journalctl似乎正在跳过相应服务正在输出的进程的一些输出。这是怎么回事?
以下是一个小例子:我有以下脚本tester.py
import time
count = 0
while True:
time.sleep(.001)
count += 1
print count
我有以下服务名为tester.service
[Unit]
Description=lots of output
After=network.target
[Service]
User=django
Group=django
WorkingDirectory=/home/django
ExecStart=/usr/bin/python -u tester.py
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
运行sudo systemctl start tester
并等待几秒钟后,我运行sudo journalctl -u tester
。
我注意到输出会跳过大块数字。例如,这里有一段摘录:
Oct 05 23:44:00 staging python[23185]: 999
Oct 05 23:44:00 staging python[23185]: 1000
Oct 05 23:44:00 staging python[23185]: 1001
Oct 05 23:44:29 staging python[23185]: 26829
Oct 05 23:44:29 staging python[23185]: 26830
Oct 05 23:44:29 staging python[23185]: 26831
Oct 05 23:44:29 staging python[23185]: 26832
Oct 05 23:44:29 staging python[23185]: 26833
答案 0 :(得分:1)
Systemd是限制你的输出!默认值是30行的1000行输出。您可以在/etc/systemd/journald.conf
您可以通过单独运行journalctl
来验证这是问题所在。您将看到Suppressed xxx messages from /system.slice/tester.service