gpt4 book ai didi

python - Systemd 丢弃随机的标准输出

转载 作者:行者123 更新时间:2023-12-04 18:29:04 25 4
gpt4 key购买 nike

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

最佳答案

Systemd 正在限制您的输出!默认为 30 秒输出 1000 行。您可以在 /etc/systemd/journald.conf 中更改此设置

您可以通过运行 journalctl 来验证这是不是问题所在。通过它自己。您将看到 Suppressed xxx messages from /system.slice/tester.service 形式的消息

关于python - Systemd 丢弃随机的标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46596353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com