У меня есть программа, которая постоянно считывает вывод:
journalctl -o json --follow
И отправляет в другой процесс. И хотя изначально он выводит записи журнала из хвоста, новые не появляются в stdout во время его работы. Как будто режим следования не отслеживает, а тормозит.
Итак, чтобы проверить это, я запустил два окна терминала:
journalctl -o json --follow
echo "Hello world" | systemd-cat
х 10 разВ первый раз я пробежал 2. Казалось, что последовало. Последующие прогоны 2 и ничего не появляется.
Это огромная проблема. Следить на самом деле не следует?
ОС - Ubuntu 16.04 на x86_64
Могут произойти две вещи:
Если вы регистрируете одну и ту же строку 10 раз, повторяющиеся строки могут быть отфильтрованы, попробуйте изменить сообщение hello world msg
Может быть некоторая буферизация между программой, которую вы используете для анализа вывода journalctl -f -o json
и сам journalctl, см. Просмотр вывода небуферизованного журнала из journalctl