[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: нелочащий Fifo



Хмутро.

DEO> пишу тут для некоего девайса подвешенного COM-порту
DEO> несколько скриптов...

DEO> надо весь поток от COM-порта пропускать через несколько
DEO> приложений

DEO> сделал так:

DEO> mkfifo fifo1

DEO> mkfifo fifo2

DEO> далее пишу

DEO> cat /dev/ttyS0 | tee fifo1 | tee fifo2 | ./script1.py

Ну, во-первых, tee fifo1 fifo2, а не tee fifo1 | tee fifo2...

DEO> в других терминалах:
DEO> cat fifo1 | ./script2.py
DEO> cat fofo2 | ./script3.py

DEO> и все работает, но вот если тормознуть script2.py или script3.py,
DEO> то соответствующий tee лочится и лочит cat

DEO> в общем случае скрипты 2 и 3 мне запускать не нужно

DEO> ...

DEO> как покрасивше решить эту проблемму?

Если я что-нибудь понимаю в юниксовом вводе-выводе, то придется писать свою
программу. С использованием select. Не обязательно на C, можно на перле,
например, у него этот select есть.

Можно еще попробовать multitee, но я не очень внимательно прочитал его man и
так и не понял, заблокируется он в этой ситуации или нет.

-- 
Artem Chuprina
RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757



Reply to: