Нужно чтобы рабочий скрипт крутился и логгировал сообщения в заранее определённое место, а в другом терминале они бы отображались по мере их поступления.
Рассмотренные решения:
• Cразу писать в логирующий терминал.
echo “$message” > /dev/tty2
Проблема в том, что номера терминалов создаются динамически и корректировать основной скрипт при каждом запуске не захочется.
• Писать в файл.
Тогда придётся писать просматривающую программу с бесконечным циклом, отслеживанием разницы, уделанием. Думаю, это жирно для такой задачи.
• Писать в трубу.
tty1: ping toster.ru > pipe
tty2: cat pipe
То, что нужно! Но труба заблокирует основной скрипт, если её никто не будет читать.
Может быть возможно как-то узнать, полна ли труба перед тем как писать в неё?
Или есть какое-то стандартное решение?