MiniM. Saving time.


| About | Download | Tools | Knowledge Base | How to Buy |

MiniM Overview

Getting Started

Download

Documentation

Tools

Cache Tools

GT.M Tools

Knowledge Base

FAQ

Contacts

Copyrights

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

http://www.google.ru/search?hl=ru&source=hp&q=%D0%BE%D0%BF%D0%B8%D1%8 1%D0%B0%D0%BD%D0%B8%D0%B5+inetd&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Googl e&lr=&aq=f&oq=

Download %inetd (zip, 10Kb)

Александр Чудновский
azbuka@rbcmail.ru


Copyright (C) Eugene Karataev
Info Support