Как я могу совместно использовать stdout между несколькими процессами?

Я хочу получать поток в реальном времени TCP и сделать его доступным для чтения другими процессами одновременно, не сохраняя его.

Например, 111.222.233.244:1234 потоков фактическое время. Сервер поддерживает только одно соединение.

tty1:

$ nc 111.222.233.244 1234 | (do something here) /tmp/tcpstream & $ sleep 5 # stream is received even if there is no process that reads it $ cat /tmp/tcpstream # it can also be like `(some command) | cat -` 17:00:06 17:00:07 17:00:08 17:00:09 17:00:10 17:00:11 

TTY2 (вторая cat выполняется через 9 секунд после выполнения nc ):

 $ cat /tmp/tcpstream 17:00:09 17:00:10 17:00:11 

  • включить эхо-сервис и проблемы безопасности в Linux
  • Порт tcp источника растяжения Debian * всегда * даже
  • Различные алгоритмы управления перегрузками в FreeBSD
  • Браузер не может связаться с хостом на Solaris 8
  • обнаружение процесса, выполняющего порты
  • Как «освободить» TCP-порт?
  • соединение telnet закрывается
  • Подключение к серверу на локальном хосте с одним и тем же исходным и конечным портами
  • 2 Solutions collect form web for “Как я могу совместно использовать stdout между несколькими процессами?”

    Возможно, инструмент tcpclone может вам помочь. Он прослушивает входящие соединения на определенном порту, и любые данные, считанные со стандартного ввода, перенаправляются на эти соединения.

    Затем ваш пример должен выглядеть примерно так:

     $ nc 111.222.233.244 1234 | ./tcpclone 5555 & $ nc 127.0.0.1 5555 

    Я не уверен, что полностью понимаю вашу проблему, но как насчет:

     $ nc 111.222.233.244 1234 \ | tee -a /tmp/stream.dump \ | while ! do_something_here; do : ; done 

    Помимо очевидного сброса потока в файл с tee (добавление, поскольку сеть может быть отключена по разным причинам, и вы, возможно, не обязательно хотите перезаписать часть превизии потока), это будет respawn do_somehing_here если оно не выйдет должным образом. Следовательно, если do_somehing_here – это, например, скрипт-оболочка, вы можете убить все, что он на самом деле вызывает, что приводит к тому, что скрипт выходит из строя ненормально и немедленно возвращается обратно. Если вы отредактируете скрипт перед его убийством, обработка потока может быть изменена без повторного подключения.

    Interesting Posts

    перенаправить ошибку на стандартный вывод

    Сценарий оболочки для замены строки в нескольких файлах в выбранных каталогах

    Как git и svn использовать существующий прокси-сервер ssh?

    Установка пользовательского RPM говорит: «Не обновляет установленный пакет»

    Сеть Debian исчезает

    Найти файлы, начинающиеся с ~ $ (MicroSoft Word Temp файлы)

    Почему я не могу chmod эти файлы, которые я мог ранее?

    Псевдоним, выполняющий команду с использованием sudo

    ожидаемое целочисленное выражение

    Как я могу искать имя дикой карты во всех подпапках?

    Проблема Установка .ttf с FontConfig, в userdir для учетной записи пользователя, запуск RHEL

    Объединить вывод сценария в тело письма и отправить его как одно электронное письмо?

    Kali на RPI, не может обновить Kernel и установить текущие заголовки или найти старые заголовки для сборки

    сценарий оболочки для перезапуска различных служб на разных машинах

    Есть ли разница между u и c в mknod

    Linux и Unix - лучшая ОС в мире.