У меня есть следующая структура скрипта: скрипт A открывает PIPE на B, а B открывает PIPE на C. Таким образом, поток данных A-> B-> C. B улавливает SIGPIPE. Хотя открываются дескрипторы и OUT:Что означает SIGPIPE в этой ситуации?
$SIG{'PIPE'} = sub {
$logger->info('caught PIPE signal.');
$logger->info("STDIN status: ".STDIN->opened());
$logger->info("STDOUT status: ".OUT->opened());
die;
};
STDIN status: 1
STDOUT status: 1
Я добавил ВНУТРЬ $ пула IO :: Выбрать и когда IN находится в $ бассейн-> can_read(), я прочитал от него с sysread(). Через секунду я записываю OUT с печатью. Также у меня есть сокет для прослушивания в пуле $, и клиенты могут подключиться к нему. Но я читаю только от клиентов. Я пишу только на OUT.
Вы должны быть более ** более конкретными о том, что вы делаете и как вы это делаете. –