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

fdisk просто делает разделы; это до других вещей как Ваша командная строка ядра и содержание /etc/fstab решить, как использовать их. Когда Вы сказали установщик это, например. /dev/sdb5 должен был использоваться как /home, это сделало набор вещей сделать, которые происходят (установите таблицу разделов, отформатируйте раздел, корректируйтесь fstab, и т.д.).

Отвечать на Ваш конкретный вопрос:

  • Это похоже sdb1 Ваш раздел начальной загрузки, используемый для содержания ядра в месте где grub может использовать вызовы BIOS для получения его. Вероятно, ext2, но можно использовать file -s /dev/sdb1 пытаться выяснить формат.

  • sdb2 похож на расширенный раздел. Нормальные таблицы разделов типа MS-DOS могут только иметь 4 основных раздела, пронумерованные 1 - 4. Если Вы создаете одного из них с типом 0x05, то можно создать дальнейшие логические разделы с более высокими числами.

  • sdb3 похож на Ваш корневой раздел.

Немного странно, что Ваш sdb3 и sdb2 не работают, но это возможно. Мое предположение - Вы, должен сделать что-то вроде этого в fdisk:

  • новая таблица разделов
  • новый основной раздел 1, запустите 2048, размер +2047
  • идентификатор изменения раздела 1 к 0x83 (Linux)
  • новый расширенный раздел 2, запустите 195504128, размер (максимум)
  • новый основной раздел 3, запустите 4096, размер +195504127
  • идентификатор изменения раздела 3 к 0x83 (Linux)
  • новый логический раздел 5, запустите 195510272, размер +761716735
  • идентификатор изменения раздела 5 к 0x83 (Linux)
  • новый логический раздел 6, запустите 957229056, размер +19542015
  • идентификатор изменения раздела 6 к 0x82 (Подкачка Linux)
2
30.01.2014, 22:46
2 ответа

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

Ваш пример должен затем стать чем-то вроде этого:

$ nc 111.222.233.244 1234 | ./tcpclone 5555 &
$ nc 127.0.0.1 5555
1
27.01.2020, 22:13

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

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

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

1
27.01.2020, 22:13
  • 1
    Ну, я хочу использовать программы как ffmpeg, aplay и иногда кошка | grep, таким образом, это не будет работать правильно. Спасибо так или иначе. –  m132 30.01.2014, 16:10
  • 2
    И почему это было бы? Что-либо, что может обработать поток путем синхронизации к некоторому заголовку там, должно быть прекрасным. По крайней мере, для меня это работает обоснованно с MP3. калека –  peterph 30.01.2014, 16:28
  • 3
    Могу я сценарий изменения, не уничтожая процессы, запущенные им? –  m132 30.01.2014, 17:01
  • 4
    Уверенный - после того как сценарий работает, он не читается снова (хорошо, он, вероятно, мог бы находиться под некоторыми очень чрезвычайно большими нагрузками, но это маловероятно Ваш случай). Измените сценарий на свою симпатию, затем уничтожьте рабочий процесс так или иначе (или его все поддерево процесса или что-то в поддереве, которое заставит весь сценарий завершаться - обычно, первый процесс в канале должен сделать это), и это будет выполнено снова - на этот раз отредактированная версия. –  peterph 30.01.2014, 17:34

Теги

Похожие вопросы