Intereting Posts
Прокрутка колесика прокрутки в обоих направлениях Как я могу проверить системный охват приложений? Функция Shell, чтобы проверить, есть ли приостановленный процесс, являющийся дочерним элементом этой оболочки? удалять дубликаты на основе значения другого столбца Emacs, получая выход эхо-области Как восстановить доступ к Интернету? ТОЛЬКО программа, которая по-прежнему пользуется Интернетом – это разнообразие (приложение для обоев) синхронизация локальной электронной почты с imap-mutt-friendly Файл rsyslog.conf отсутствует в / etc / in Fedora 25 Как отображать дату Дискорда? Не удается запустить exe-файл Копирование файлов из одной вспомогательной директории в другую Псевдоним для скрипта perl Можно ли установить пакет Armel Ubuntu на систему Uhuntu на анкере? vim: Могу ли я сделать * только * y выполнить копию? Как получить завершение bash для псевдонимов команд?

linux stdbuf – строка-буферизация опции stdin не существует

Командная страница для команды stdbuf заявляет, что режим буферизации строк недействителен в качестве стандартной опции буферизации ввода. Что является причиной этого?

tail -f access.log | stdbuf -iL cut -d' ' -f1 | uniq stdbuf: line buffering stdin is meaningless Try `stdbuf --help' for more information. 

Упрощенный, stdbuf – это оболочка вокруг функциональности stdio. Линейная буферизация входных потоков не определена в stdio; Я не могу найти ни одного документа стандартов, в котором говорится, что это значит, поэтому он буквально бессмыслен для стандартов.

Предполагая, что поведение аналогично буферизации строк stdout, для буферизации строк stdin потребуется вызов read () один раз для каждого прочитанного символа, потому что нет другого способа гарантировать, что вы не прочитали новую строку в дескрипторе. Поскольку точка буферизации заключается в сокращении числа системных вызовов, неудивительно, что библиотека stdio не реализует это.

Как автор stdbuf позвольте мне направить вас к «проблемам буферизации ввода stdio» по адресу http://www.pixelbeat.org/programming/stdio_buffering/