ФЭНДОМ


Плюмбинг — механизм динамического связывания одновременно выполняющихся интерактивных программ, позволяющий управлять обменом сообщениями между ними. Для него написан набор инструкций (см. plumb(6)) для обработки поступающих сообщений и их отправки приложениям.

plumber(4) является файловым сервером, который выполняет обработку и отправку сообщений. Он работает с любым приложением, использующим этот механизм, но только в области пользователь-интерфейс, механизм позволяет пользователю указывать имя файла или URL и обрабатывает связанный ресурс с подходящим приложением.

ПримерыПравить

В командной оболочке rc вы можете выбрать фрагмент текста, нажать кнопку 2 мыши и выбрать из меню пункт «plumb». В зависимости от того, какой текст,plumber может выполнять различные действия. К примеру,

  • файлы .ps, .pdf, или .dvi запускают программу просмотра page(1);
  • файлы .gif, .jpg, .png, .ppm также запускают программу просмотра page(1);
  • сообщение ошибки компилятора с указанием файла и номера строки запускает текстовый редактор по умолчанию, чтобы открыть этот файл с данным номером строки;
  • .h выполняет поиск в каталоге /sys/include для данного заголовка и открывает его в текстовом редакторе по умолчанию;
  • при выводе man-страницы запускается программа man(1);
  • URL запускает броузер по умолчанию для данной страницы.

Хорошая хитростьПравить

Пространство имен в Plan 9 — локальное. Т. е., если вы работаете с приложением, то пространство имен раздваивается, вы не можете работать с этим пространством имен в других приложениях. Конкретный пример, вы не можете подмонтировать удаленный файловый сервер а затем сплюмбинговать его в другое запущенное приложение. Вот неплохая хитрость, которая позволяет обходить это ограничение:

srvfs plumbspace /n
plumber
rfork n
mount -b /srv/plumbspace /n

Добавьте эти строки в файл /lib/profile (перед запуском rio) и каталог /n — теперь косвенная часть пространства имен, которая может использоваться во всех приложениях плюмбером. Все, что нужно использовать в нем:

type is text
data matches 'Local (.*)'
plumb to none
plumb start rc -c $1

К примеру, вам нужно подмонтировать локальный диск kfs и отредактировать в нем файл. Откройте новое окно оболочки и выполните:

disk/kfs
plumb 'Local mount /srv/kfs /n/kfs'

и файлы нового диска будут просматриваться во всех приложениях системы.

Дополнительные ссылкиПравить

Plumbing and Other Utilities — документ о создании и реализации системы плюмбинга.

Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 22.08.2003

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики