Вопросы с тегом «fifo»

Вопросы о FIFO - специальном файле "первым пришел - первым обслужен", также известном как именованный канал

30
Являются ли сокеты FIFO, pipe и Unix одинаковыми в ядре Linux?

Я слышал, что FIFO - это именованные каналы. И у них точно такая же семантика. С другой стороны, я думаю, что доменный сокет Unix очень похож на pipe (хотя я никогда не использовал его). Поэтому мне интересно, все ли они ссылаются на одну и ту же реализацию в ядре Linux. Есть...

22
Соответствует ли именованный канал, созданный `mknod`, и FIFO, созданный` mkfifo`?

Я использовал mkfifo <file>команду для создания именованных FIFO, где один процесс записывает в файл, а другой - из файла. Теперь я знаю, что mknodкоманда может создавать именованные каналы. Эти именованные каналы эквивалентны FIFO, созданным mkfifoили у них разные...

18
Почему именованный канал медленнее, чем запись в файл?

Я пытаюсь понять, как работают именованные каналы, чтобы упростить одностороннее межпроцессное взаимодействие. Я ожидаю некоторых издержек из-за копирования данных в кольцевой буфер, который, как я думал, хранится в ОЗУ, и поэтому я ожидал, что канал будет намного быстрее, чем запись в файл (потому...

16
Как получить среднюю скорость потока в трубе

Если myfileсо временем увеличивается, я могу получить число строк в секунду, используя tail -f | pv -lr > /dev/null Это дает мгновенную скорость, а не среднюю. Как я могу получить среднюю скорость (т. Е. Интеграл от функции скорости v(t)за время...

16
непрерывное чтение из именованного канала (cat или tail -f)

Я настроил rsyslogзапись определенных событий журнала в /dev/xconsole: *.*;cron.!=info;mail.!=info |/dev/xconsole /dev/xconsoleявляется именованным каналом ( fifo). Если я хочу увидеть, что регистрируется, я могу сделать cat /dev/xconsole. Я удивлен, увидев, что команда cat /dev/xconsoleне...

14
Отфильтровать или передать определенные разделы файла

У меня есть входной файл с некоторыми разделами, которые разграничены начальным и конечным тегами, например: line A line B @@inline-code-start line X line Y line Z @@inline-code-end line C line D Я хочу применить преобразование к этому файлу так, чтобы строки X, Y, Z фильтровались через какую-то...

12
Как я могу использовать inotify или именованные каналы по SSHFS?

Спасибо sshfsволшебство, я могу смонтировать мой домашний каталог с удаленного сервера с sshfs user@server:/home/user ~/remote Оптимистично, я думал , что я установил местный inotify-hook на ~/remote/logFile(в sshfsгоре) , поэтому локальная программа может реагировать на изменения удаленных...

12
«Негерметичные» трубы в linux

Предположим, у вас есть конвейер, подобный следующему: $ a | b Если bостановка обработки stdin, через некоторое время канал заполняется, и запись, начиная aс его stdout, будет блокироваться (пока либо не bначнется обработка снова, либо он не умрет). Если бы я хотел избежать этого, у меня мог бы...

12
Запретите автоматические EOF в именованный канал и отправьте EOF, когда я этого захочу

У меня есть программа, которая автоматически выходит при чтении EOF в данном потоке (в следующем случае, stdin). Теперь я хочу создать сценарий оболочки, который создает именованный канал и подключает к нему stdin программы. Затем скрипт записывает в канал несколько раз, используя echoи cat(и...

11
Перенаправление вывода программы

При попытке перенаправить вывод программы с синтаксисом «некоторое число больше, чем» (например foo 2> myfile), какие здесь возможные числа и что они представляют? Я считаю, 1 есть /dev/stdout, 2 есть /dev/stderr. А как насчет 5 и 6? Есть ли 3, 4 или какое-то число больше...

11
Полусинхронная труба

Предположим, у меня есть следующая труба: a | b | c | d Как я могу ждать завершения c(или b) в shили bash? Это означает, что скрипт dможет запускаться в любое время (и его не нужно ждать), но cдля корректной работы требуется полный вывод из . Вариант использования предназначен difftoolдля...

10
mkfifo - действительно ли происходит дисковый ввод-вывод?

У меня есть 2 приложения: Производитель (N экземпляров) Потребитель (1 экземпляр) В настоящее время я записываю промежуточные результаты от производителей, а затем потребитель читает эти файлы с диска и выдает окончательный результат. Я хотел бы свести к минимуму этот ввод-вывод путем «потоковой...

10
Как реализовать «генераторы» типа $ RANDOM?

Специальная переменная $RANDOMимеет новое значение каждый раз, когда к ней обращаются. В этом отношении он напоминает объекты-генераторы, встречающиеся в некоторых языках. Есть ли способ реализовать что-то подобное в zsh? Я пытался сделать это с именованными каналами, но я не нашел способа...

10
Именованные каналы, файловые дескрипторы и EOF

Два окна, один и тот же пользователь, с подсказками bash. В окне типа 1: $ mkfifo f; exec <f Таким образом, теперь bash пытается прочитать из файлового дескриптора 0, который сопоставлен с именованным каналом f. В окне типа 2: $ echo ls > f Теперь window-1 печатает ls, а затем оболочка...

8
Почему не работает перенаправление файлов в и из именованного канала, а работает конвейер в cat?

Это простой эхо-сервер в Unix, использующий nc: mkfifo fifo cat fifo | nc -k -l 4458 -v | cat >fifo (основываясь на этом ) Насколько я понимаю, поток данных работает следующим образом: fifo (my named pipe) | | (using cat) | v nc | | (using cat) | v fifo И вот вопрос: почему это не работает? nc...

8
В чем разница между этими четырьмя командами (fifo, замена процесса, перенаправление ...)

Моя цель - создать простой эхо-сервер с использованием ncодного fifo. Я не ищу лучший способ сделать это, я просто пытаюсь понять семантику следующих команд (когда происходит форк, почему, что это меняет, почему команды ведут себя по-разному ...). Я использую Bash, так что я не уверен , что все...

0
Несколько FIFOS по SSH

Сценарий оболочки допускает несколько файловых дескрипторов (до 9 для соответствия POSIX, но даже больше для bash): $ install -m 755 /dev/stdin /tmp/test <<\EOF #!/bin/sh echo hi1 >&1 echo hi2 >&2 echo hi3 >&3 echo hi4 >&4 EOF $ /tmp/test 1> /tmp/1 2> /tmp/2...