Difference between revisions of "User:StasFomin/Linux/Неблокирующий сплиттер"

From Wiki4Intranet
Jump to: navigation, search
 
Line 1: Line 1:
 +
Система сплиттинга линуксовых пайпов через tee как бы синхронна,
 +
т.е. если я делаю как-то так
 +
 +
source_util | tee mail_util aux_util
 +
и aux_util начинает тормозить с чтением, то тормозится и получение на main_util
 +
 +
Как бы разорвать этот круг?
 +
Т.е. если aux_util не успевает читать — то и хрен с ним, пусть, когда он очнется, получает текущие данные, потеряв то, где он тормозил.
 +
 +
Интересно, можно ли это сделать юникс-way, т.е. есть ли готовая утилита, или придется писать что-то свое (кольцевой буфер?).
 +
 +
 
[[File:Неблокирующий сплиттер.svg]]
 
[[File:Неблокирующий сплиттер.svg]]

Revision as of 15:21, 25 July 2013

Система сплиттинга линуксовых пайпов через tee как бы синхронна, т.е. если я делаю как-то так

source_util | tee mail_util aux_util и aux_util начинает тормозить с чтением, то тормозится и получение на main_util

Как бы разорвать этот круг? Т.е. если aux_util не успевает читать — то и хрен с ним, пусть, когда он очнется, получает текущие данные, потеряв то, где он тормозил.

Интересно, можно ли это сделать юникс-way, т.е. есть ли готовая утилита, или придется писать что-то свое (кольцевой буфер?).


Неблокирующий сплиттер.svg