MiniM Overview |
MiniM
Additional Tools | Jun 11, 2010 Демон портов и рутин %INETD иногда называют также ''супер-сервером'', потому что он управляет соединениями к многим сервисам. Когда %INETD принимает соединение, он определяет, для какой routine предназначено соединение, запускает соответствующий процесс и предоставляет ему сокет, ссылка на который передается процессу в качестве стандартных устройств ввода, вывода. Для не слишком нагруженных серверов запуск через %INETD может уменьшить общую нагрузку на систему по сравнению с запуском каждого демона индивидуально в выделенном режиме. Определение максимального числа одновременных запусков каждой routine не ограничено (если лицензия позволяет). В первую очередь %INETD используется для вызова других демонов/routine. ВНИМАНИЕ! Данная версия поддерживает ТОЛЬКО соединение TCP. Настройка Вся информация о настройке хранится в global ^%SYS. ^%SYS("inetd",имя ,"routine")=LABEL^ROUTINE, как для GOTO команды ,"uci")=раздел, по умолчанию "USER" ,"port")=номер порта прослушки, из числа доступных ,"mode")=режим открытия устройства (которое будет use 0), по умолчаниб "RWB" ,"status")=статус данной услуги, 1-работает, 0-остановлена, -1 есть проблемы при запуске (формируется автоматически при работе %INETD). -1 может формироватся , если порт уже занят. ,"enable")=можно ли ее запускать, 1-да, можно, 0- нет, порт не опрашивать. Изменения в %INETD отслеживаются автоматически, но если вы хотите освободить занятый порт, то придется полностью его остановить и запустить повторно, если это вновь подключаемые порты, то останавливать необходимости нет. Добавление порта для прослушки Метка ADD^%INETD(n,r,u,p,m,a,e)позволяет добавлять/удалять задания в систему опроса, если хотите удалить, то введите для задания порт(p) "-1" или пустую рутину (параметр r). Параметры: n - имя задания "строка"; r - метка исполнения для команды GOTO: LABEL^ROUTINE; u - uci по умолчанию "USER"; p - порт прослушки, число от 1 до 65535; m-режим устройства оставляйте "RWB"; e - услуга разрешена (1) или нет (0) Примеры Создаем простой ECHO-server, полный пример в %INETD: i $$ADD^%INETD("echo","ECHORUN^"_$ZN,"%SYS",12340,"RWB") запуск %srv через альтернативу, настроить отдельное соединение в клиентских программах: i $$ADD^%INETD("%srv","cdmn^%srv","%SYS",5001,"RWB") удаление из списков: i $$ADD^%INETD"test3","","",-1,"") ВНИМАНИЕ! ПАРАМЕТРЫ ПОЛНОСТЬЮ НЕ КОНТРОЛИРУЮТСЯ. Запуск и останов Прописать запуск можно autostart.m или отдельно: J START^%INETDесли желаете остановить, то: D STOP^%INETD Дополнительные источники http://docs.freebsd.org/doc/6.2-RELEASE/usr/share/doc/ru/books /handbook/network-inetd.html http://www.opennet .ru/man.shtml?topic=inetd&category=1 Download %inetd (zip, 10Kb) Александр Чудновскийazbuka@rbcmail.ru
|
|
Info Support |