Вопросы по теме 'fifo'

Как мне выполнить неблокирующую команду fopen на именованном канале (mkfifo)?
Если у меня есть программа, которая создает и пытается открыть именованный канал с помощью mkfifo, как я могу открыть канал для чтения или записи без блокировки? В частности, я пишу программу на C, которую можно запускать с графическим интерфейсом...
39324 просмотров
schedule 06.04.2023

прочитать последнюю строку fifo
Вот ситуация: какой-то процесс записывает строки в файл fifo (созданный с помощью mkfifo ). В какой-то момент моей программы я хочу прочитать последнюю строку в fifo и отбросить все остальные. Процедура может блокироваться, только если в fifo...
1029 просмотров
schedule 25.07.2023

У меня проблема с 2 FIFO для чтения и записи в каждом
Прилагаемый код должен разрешать связь между двумя терминалами. Связь осуществляется через 2 FIFO, которые создаются в текущем каталоге. Программа должна открыть 2 fifo, и сын читает из STDIN и вставляет fifo1, а отец читает из другого fifo и...
1399 просмотров
schedule 21.11.2022

Лучший способ передачи больших данных из ядра в пользовательское пространство
Мне нужно передавать несколько мегабайт данных в секунду из модуля ядра Linux в пользовательское пространство, и я не хочу пропустить ни одного сообщения из модуля, если я его прочитаю. Как лучше всего это сделать? Для этого существует несколько...
4292 просмотров

Python и FIFO
Я пытался понять FIFO, используя Python под Linux, и обнаружил странное поведение, которого не понимаю. Далее fifoserver.py import sys import time def readline(f): s = f.readline() while s == "": time.sleep(0.0001) s...
6330 просмотров
schedule 28.12.2022

Код Python зависает при попытке открыть именованный канал для чтения
Я пытаюсь настроить двустороннюю связь между демоном и клиентом, используя именованные каналы. Код зависает при попытке открыть именованный канал, используемый для ввода. Почему? class comm(threading.Thread): def __init__(self): self.srvoutf...
7942 просмотров
schedule 28.04.2022

LRU против FIFO против случайного
Когда возникает ошибка страницы или промах кеша, мы можем использовать либо алгоритмы «наименее недавно использовавшиеся» (LRU), либо алгоритмы «первым в списке» (FIFO), либо алгоритмы случайной замены. Мне было интересно, какой из них обеспечивает...
16857 просмотров
schedule 14.03.2023

Как проверить, является ли файл именованным каналом в Perl?
Вроде как: -e /path/to/file or die "file doesn't exist"; Можно ли сделать что-то вроде: -p /path/to/pipe or die "not a valid pipe";
821 просмотров
schedule 10.06.2023

Обнаружить, когда fifo открывается из программы
У меня есть ситуация, когда мне нужно проверить, открыла ли его другая сторона fifo, однако я не могу использовать открытие, потому что иначе программа начнет что-то делать. Почему я должен это сделать: у меня есть программа (монитор), которая...
5383 просмотров
schedule 18.10.2022

следующий fifo в Redis
Я пытаюсь внедрить следующую систему в Redis, но я не знаю, как это сделать, так как мне также нужна какая-то система очередей. Вот о чем я думал: пользователи A, B и C подписаны на пользователя X, поэтому, чтобы пользователь X мог проверять своих...
426 просмотров
schedule 30.10.2022

Неправильный указатель начала очереди FIFO
Мне нужно реализовать очередь на C для небольшой части домашнего проекта. Я делал это в течение нескольких лет на разных языках, поэтому я удивлен, что у меня так много проблем. Моя проблема в том, что значение Head постоянно меняется на самое...
737 просмотров
schedule 25.07.2022

select() не возвращается после тайм-аута
Я создаю один исполняемый файл с именем «readmsg». Его исходный код приведен ниже. select() работает, если я выполняю только readmsg в оболочке (я вижу вывод timeout ). Но если я создам файл FIFO с помощью команды: mknod /tmp/message p и...
826 просмотров
schedule 17.04.2023

Канал FIFO всегда доступен для чтения в select()
В псевдокоде C: while (1) { fifo = open("fifo", O_RDONLY | O_NONBLOCK); fd_set read; FD_SET(fifo, &read); select(nfds, &read, NULL, NULL, NULL); } Процесс приостанавливается, как инициировано select() , пока другой...
12528 просмотров
schedule 18.07.2023

бесконечный fifo в java
Я ищу потокобезопасный бесконечный блокирующий fifo, который поддерживается фиксированным буфером, таким как массив. Семантика будет заключаться в том, что несколько потоков чтения и записи могут безопасно получить к нему доступ. Модули записи...
2162 просмотров
schedule 17.05.2023

FIFO (именованный канал) в C
Недавно мне поручили настроить одно из приложений, которые наши группы используют довольно регулярно. Приложение написано на C, в чем у меня нет большого опыта. Я нашел несколько функциональных примеров того, что я пытаюсь сделать, но пока не смог...
8388 просмотров
schedule 06.08.2023

Асинхронный дизайн FIFO
Я нашел следующий фрагмент кода в Интернете, когда искал хороший дизайн FIFO. По ссылке SVN Code FIFO — Автор Клиффорд Э. Каммингс . Я провел некоторое исследование, я не смог понять, почему в дизайне три указателя? Я могу читать код, но что мне...
7695 просмотров
schedule 29.04.2023

Чтение и удаление из FIFO в C
Я создаю сервер, который общается со своими клиентами через FIFO. Пока мне удалось создать FIFO, запустить новый поток, как только сообщение поступит в FIFO, и вывести сообщение из потока. Проблема в том, что как только клиент что-то записывает...
4483 просмотров
schedule 27.06.2023

Неблокирующее чтение и блокирующая запись в Posix PIPE
Я пишу клиент-серверное приложение, используя posix FIFO для связи. И клиент, и сервер представляют собой однопоточное и однопроцессное приложение. Сервер предназначен для работы с несколькими клиентами. У каждого клиента есть своя пара...
2920 просмотров
schedule 18.03.2023

Переводчик предложений Java Pig Latin с использованием очередей
Я очень новичок в Java и пытаюсь создать программу для перевода предложения на Pig Latin, перемещая первую букву слова в конец и добавляя «y» в конце, если первая буква была гласной и «ау» в конце иначе. Я должен использовать очередь для этого. В...
1282 просмотров
schedule 02.10.2022

Запись нескольких полей (структур) в fifo
Мне нужно написать следующую структуру в fifo: struct msg_t { int length; char* msg; }; Я выделяю структуру и char* внутри нее и пишу так: (допустим, msg — это имя переменной) write(fifo_fd, &msg, sizeof(msg_t)); Длина читается с...
776 просмотров
schedule 25.04.2022