Кэшировать данные stdout и пересылать их stdout

Такой демон в системе уже есть -upstart, вам нужно только создать для него сеансовое задание.

description "some job description"
start on desktop-unlock
script
        /path/to/your/executable
end script
0
02.03.2020, 17:16
1 ответ

Многие приложения, стандартные библиотеки и фреймворки уже в некоторой степени буферизуются при чтении или записи в канал, поэтому, если вам нужно просто универсальное кэширование, оно, скорее всего, уже есть.

Однако, если это не подходит, stdbufпредоставляется GNU coreutils (, так что более или менее каждый Linux-компьютер должен иметь его )и может это делать. Однако он делает это по размеру данных, а не по строкам. Например:

stdbuf -o 1K 10msApp | visualizer

Если visualizerтакже буферизует свой ввод, вам также может понадобиться запустить его с stdbuf -i.

stdbufтакже имеет буферизацию строк с -o L, но, насколько я знаю, вы не можете регулировать количество строк в буфере.

0
28.04.2021, 23:21

Теги

Похожие вопросы