Polling sem bloqueio de dois canais?

1

Aqui está o que eu quero fazer ..

mkfifo infrequentlog frequentlog
sort -m infrequentlog frequentlog > mylog
funcA > infrequentlog 
funcB > frequentlog 

Para que, ao acompanhar o monitor, eu possa ver as datas são classificadas de ambos os registros.

tail -f mylog

O problema é que essa coisa não imprime até que o funcA produza algo. O que eu quero é que mesmo o funcA não produza algo por um tempo, eu ainda recebo algo sobre o funcB

    
por user40129 11.02.2015 / 23:06

1 resposta

1

Crie um terceiro pipe e copie continuamente os dois primeiros tubos para ele. Então leia o terceiro:

while cp infrequentlog mainlog; do :; done &
while cp frequentlog mainlog; do :; done &

sort mainlog > mylog

Você precisará repetir o tipo para obter todas as mensagens.

    
por 12.02.2015 / 14:53