Сломанные трубы! Проблема с использованием именованных каналов для соединения двух автономных программ [закрыто]

Хотелось бы, чтобы эта ссылка вам помогла.

инструменты для хакеров

2
28.07.2017, 02:47
1 ответ

Сломанный канал означает, что программа записи (прог _a )пытается записать в канал, который был закрыт его читателем (прог _b ). Вы не предоставили нам достаточно информации, чтобы понять, почему программа _b останавливается так быстро.

Тем не менее, вы предполагаете, что программа _b читает свой входной файл последовательно, пока не встретится EOF, и обрабатывает каждую строку по мере их чтения, как обычная команда фильтра Unix. Вы уверены в этом? Если программа _b хочет выполнить поиск во входном файле или выполнить его mmap, вы обречены (то же самое для программы _a ). А если прога _b захочет прочитать все входные строки и только потом обработать их, то вряд ли вы чего-то добьетесь в распараллеливании прог _a и прог _b, потому что прога _b начнет свою обработку только тогда, когда труба закрыта, то есть когда программа _a закончилась.

0
27.01.2020, 22:37

Теги

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