Запуск процесса, когда порт подключен к - PullRequest
1 голос
/ 04 октября 2010

Я хочу создать одного клиента, который будет отправлять одноадресные запросы данных с любой из множества рабочих станций в одной локальной сети.Клиент, вероятно, будет работать под управлением Linux, но рабочие станции могут работать под любой ОС.Можно ли избежать запуска демона на каждой из рабочих станций и в то же время заставить его отвечать на запросы в течение нескольких секунд?Я хочу избежать создания демона, потому что служба может использоваться нечасто, и я не хочу обременять рабочие станции другим процессом.

1 Ответ

1 голос
/ 04 октября 2010

Посмотрите на подходящие реализации inetd для вашей целевой операционной системы. Эта служба прослушивает соединения и делегирует фактическое соединение обычному вводу-выводу через stdin / stdout экземпляру вашего процесса (который создается по требованию):

Утилита inetd [..] прослушивает соединения в определенном интернете Розетки. Когда соединение установлено на один из его сокетов, он решает, что service, которому соответствует сокет, и вызывает программу для обслуживания запроса. серверная программа вызывается с сервисным сокетом в качестве стандартного ввода, дескрипторы вывода и ошибок. После завершения программы inetd продолжается слушать на сокете [..]

...