Порождение нескольких экземпляров демона в Ubuntu

Это - сервер Win2003, используемый для чего-либо еще? Я уничтожил бы его, бросить на Вашем предпочтительном дистрибутиве Linux/BSD и установить DNSMasq на нем.

3
задан 27 November 2011 в 22:32
2 ответа

Я мог бы отказаться от этого, так как прошло некоторое время с тех пор, как я работал над демонами интерпретируемого языка, но я думаю, что «правильный» способ сделать это - спроектировать вашу программу так, чтобы она слушала порт, а затем разветвлялась другой процесс для обработки пакета запросов / заданий на другом порту, в то время как родительский узел продолжает прослушивать другие соединения.

Вы можете поискать образцы кода о том, как создавать простые веб-серверы, чтобы увидеть, как сделать что-то подобное. Mailq прав в том, что у вас не может быть нескольких процессов, одновременно прослушивающих одну и ту же пару IP-адресов и портов.

Итак ... разветвляйте другие рабочие процессы, которые выполняют свою работу, а затем синхронизируются с процессом управления.

3
ответ дан 3 December 2019 в 07:11

Нет, не можете. Вы не можете прослушивать один и тот же порт несколько раз. Таким образом, если первый экземпляр уже занимает порт (скажем, 80), то никакой другой экземпляр не может прослушивать тот же порт.

Но даже если это не демон прослушивания TCP / IP, это все же странное требование. Зачем нужно запускать команду несколько раз параллельно, которая делает одно и то же?

-1
ответ дан 3 December 2019 в 07:11

Теги

Похожие вопросы