Вешаем свою программу (службу) на порт с помощью xinetd
Вешаем свою программу (службу) на порт с помощью xinetdДля этого нам потребуется демон xinetd если его у вас нет то нужно поставить:
#apt-get install xinetd
Для реализации данной задачи создадим файл с любым именем например myprog
в каталог /etc/xinetd.d
service asad ##Название сервиса
{ ## Разрешить использование
disable = no #задаём тип сокета
socket_type = stream
type = UNLISTED
#сервис не указан в стандартном (системном) файле (например /etc/rpc для RPC служб, или #/etc/services для не RPC сервисов).
port = 2329
# 3задаём порт на котором будет слушать подключения ваш сервис
protocol = tcp
#указываем протокол tcp
wait = no
# Этот атрибут определяет является ли сервис single-threaded или multi-threaded. Если его #значение yes сервис является single-threaded; это означает что xinetd запускает сервер и #затем перестает обрабатывать запросы для этого сервера пока запущенный сервер не #завершит работу. Если значение атрибута no, то значит сервис является multi-threaded и #xinetd продолжит обрабатывать вновь приходящие запросы.
#
user = root #пользовател которым выполняется программа
group = tty
#определяет gid под которым будет выполняться процесс. Имя группы должно существовать #в файле /etc/group. Если группа не указана, будет использована к которой принадлежит user #(из /etc/passwd). Этот параметр не действует если эффективный uid xinetd не соответствует #uid супер-пользователя.
#
server = /home/asad/check #Путь к программе сервису который будет получать строку посланную на данный порт
}
Далее перейдём не подсредственно к програме слушателю /home/asad/check
У меня она реализована так
#!/bin/sh
read -r cmd; # получать строку
………
код программы обрабатывающей строку.
Комментариев нет:
Отправить комментарий