Це команда unbuffer, яку можна запустити в безкоштовному хостинг-провайдері OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
unbuffer - розбуферизувати вихід
СИНТАКСИС
unbuffer більшість квитків вже розпродано! [ аргументи ]
ВСТУП
unbuffer вимикає буферизацію виводу, яка виникає, коли вихідні дані програми перенаправляються з
неінтерактивні програми. Наприклад, припустімо, що ви переглядаєте вихід із FIFO by
перевірити його через od, а потім ще більше.
od -c /tmp/fifo | більше
Ви нічого не побачите, доки не буде створено повну сторінку.
Ви можете вимкнути цю автоматичну буферизацію наступним чином:
unbuffer od -c /tmp/fifo | більше
Зазвичай unbuffer не читає зі стандартного вводу. Це спрощує використання unbuffer у деяких
ситуації. Щоб використовувати unbuffer у конвеєрі, використовуйте прапорець -p. приклад:
процес1 | unbuffer -p process2 | процес3
ПЕРЕКЛАДИ
може здатися, що unbuffer -p працює некоректно, якщо процес, що подає вхідні дані для unbuffer, закінчується.
Розглянемо:
процес1 | unbuffer -p process2 | процес3
Якщо процес1 завершує роботу, можливо процес2 ще не завершився. Відмінити буфер неможливо
знайте, що довго чекати на процес2, і процес2 може ніколи не завершитися, наприклад, якщо це a
фільтр. Для доцільності unbuffer просто завершує роботу, коли зустрічає EOF з будь-якого з його
введення або процес2.
Для того, щоб мати версію unbuffer, яка працювала в усіх ситуаціях, потрібен оракул
необхідно. Якщо вам потрібне рішення для конкретної програми, обхідні шляхи або ручний код Expect
може бути більш придатним. Наприклад, у наступному прикладі показано, як дозволити grep
завершити обробку, коли кіт першим закінчить. Використання кота для годування grep буде
ніколи не вимагають видалення буфера в реальному житті. Це лише заповнювач для якогось уявного
процес, який може закінчитися або не завершитися. Аналогічно, останній кіт на кінці конвеєра
також є заповнювачем для іншого процесу.
$ cat /tmp/abcdef.log | grep abc | кіт
abcdef
xxxabc defxxx
$ cat /tmp/abcdef.log | unbuffer grep abc | кіт
$ (cat /tmp/abcdef.log ; сон 1) | unbuffer grep abc | кіт
abcdef
xxxabc defxxx
$
Використовуйте unbuffer онлайн за допомогою сервісів onworks.net