Задать вопрос

Python именованные каналы в Linux. Как читать и записывать?

ОС: CentOS 7
Python: 2.4.

Создал в Linux именованный канал, средствами самой ос через:
mkfifo
. Пытаюсь открыть его на чтение таким образом:
pipe = open("testpipe","r")
Но программа просто зависает на этой команде. Не вылетает по исключению, а замирает, прерывание по
ctrl + c
работает, так, собственно, и завершаю ее работу.

В чем может быть проблема и как с ней бороться?
  • Вопрос задан
  • 3516 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 2
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Возможно это и не проблема.
Вы же работаете с именованным каналом. Если вы его читаете, программа не зависает, а ждет, пока кто-то что-то в этот канал напишет.
Ответ написан
@CycaHuH
В чем может быть проблема

Вызов open ждет пока в fifo что-нибудь запишут.

как с ней бороться?

Можно использовать os.open с флагом O_NONBLOCK
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 10:19
7000 руб./за проект
02 февр. 2025, в 08:12
2500 руб./за проект