LINUX.ORG.RU

Ответ на: комментарий от yoghurt

А я Аквариум, но кто-то же может слушать FIFO?

KblCb ★★★★★
() автор топика
Ответ на: комментарий от const86

Что-то я пока не осиливаю приспособить для этого селект.

KblCb ★★★★★
() автор топика

а тебе именно fifo нужно или unix sockets тоже сойдут?
unix sockets можно смотреть (хотя бы уж) разбирая результат netstat -nap

А вот с fifo найти не могу...

vahvarh ★★★
()
Ответ на: комментарий от vahvarh

On a last note, pipes must have a reader and a writer. If a process tries to write to a pipe that has no reader, it will be sent the SIGPIPE signal from the kernel. This is imperative when more than two processes are involved in a pipeline.

Видишь как всё просто...
Пытаешься писать и проверяешь, не придёт ли SIGPIPE.

sub sigpipe_handler {
...
}

$SIG{SIGPIPE}=\&sigpipe_handler;
или
$SIG{PIPE}=\&sigpipe_handler;
(не помню как верно)

vahvarh ★★★
()
Ответ на: комментарий от vahvarh

Ну если читать маны, то там написано, что при попытки сделать open() c флагами (O_NONBLOCK|O_WRONLY) на fifo файл, который никто не слушает, то вернётся ENXIO. Правда, я не знаю что на perl'е проще, обработка сигналов или вызов open() с флагами.

mky ★★★★★
()
Ответ на: комментарий от mky

Когда догорают сроки на перле всё становится очень легко и просто. Спасибо всем.

KblCb ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.