Cygwin – хвост останавливает чтение входной трубы после первой записи

У меня есть следующий сценарий для запуска моего приложения в Ubuntu с перенаправлением его ввода (где $ in называется именем pipe, который используется для отправки текстовых строк в stdin).

tail -f "$in" | "$app_bin" $app_args & 

Я могу отправить вход в мое приложение, когда это необходимо:

 printf "%s\n" "text input" >> "$in" 

Однако при работе в среде Cygwin (Windows) вторая команда работает только в первый раз! Затем вы пытаетесь отправить вторую строку текста, она зависает без каких-либо действий, а при попытке манипулировать $ in дает ошибку «Прибор или ресурс занят».

Как вы решили эту проблему? Это особенность Cygwin?

One Solution collect form web for “Cygwin – хвост останавливает чтение входной трубы после первой записи”

Вероятно, неполная реализация

https://www.cygwin.com/ml/cygwin/2016-01/msg00085.html

  • `tail -f` частично потребляет последнюю строку, не заботится о новых или nul
  • Время, необходимое для вывода трубы на голову / хвост
  • Греп от конца файла до начала
  • Интерактивный, скрытый живой хвост из нескольких файлов?
  • Найдите кучу gps-файлов в папке для окончательного расстояния, выведите список расстояний
  • Сохранять счет из файла журнала
  • Можно ли «перевернуть» символическую ссылку на новый файл, не затрагивая никаких открытых дескрипторов файлов?
  • Редактирование текстового файла с Vim не обновляет tail -f
  • Команда для удаления первого N числа строк на входе
  • Как я могу использовать Awk для преобразования временной отметки unix для чтения человеком при создании файла журнала Tail-f?
  • Выполнение хвоста -f в текстовом файле поверх sshfs не работает. Зачем?
  • Linux и Unix - лучшая ОС в мире.