Вот ситуация: какой-то процесс записывает строки в файл fifo (созданный с помощью mkfifo
). В какой-то момент моей программы я хочу прочитать последнюю строку в fifo и отбросить все остальные. Процедура может блокироваться, только если в fifo меньше одной строки.
Я не могу придумать чистый способ сделать это, есть идеи?
РЕДАКТИРОВАТЬ: процесс записи никогда не остановит запись строк в fifo. То, что я имею в виду под последней строкой, является последним к тому времени, когда я читаю fifo. За ним не обязательно следует EOF.
pipe
(он жеfifo
) это поток, а не файл, читая строку не знаешь последняя ли она или какие то данные будут доступны позже. - person qrdl   schedule 21.02.2010