Previous Entry Share Next Entry
2016-01

выращивание демонов

Понадобилось мне сделать небольшой application server, который сидит и обслуживает клиентов по HTTP и UDP.

В Windows у меня для этого есть Service Control Manager, я реализую интерфейс сервиса и все вполне предсказуемо работает. Дебажить, правда, неудобно, но это и не нужно, в общем-то.

А как это в *nix делается правильно? И заодно, можно ли какой-то софтиной или еще как удаленно приконнектиться к сервису и подергать его (start/stop/upgrade/view logs/…), наподобие WMI или, на худой конец, net start?

*правильно = чтобы можно было еще install и uninstall делать “автомагически” (одной командой), наверное.
**первая версия будет на питоне, потом может попробую на чем-то еще

Crosspost to ru_programming, ru_linux


  • 1
_oxpa_ November 10th, 2009
есть наборы рц скриптов (/etc/init.d/service_name). через них можно делать старт, стоп, рестарт, реконфигурирование.
Добавление в автостарт в зависимости от дистрибутива происходит. Но обычно это создание ссылки в одну из папочек /etc/rcN.d/. где N - уровень init'a на котором будет запущена служба
логи в /var/log/ лежат, обычно. смотреть их через тот же интерфейс как бы странно О_О

Кроме того, для сложных программ требующих чего-то странного иногда делают управление через сокет и простенькую интерфейсную программку (примеры apache2ctl, ejabberdctl и прочие ;).

Если что - спрашивайте.

wizzard0 November 10th, 2009
Ясно, спасибо. Похоже, основное обсуждение идет в посте в ру_программинг, так что я поползу туда.

P.S. тем не менее, спасибо за ответ здесь, а не в комьюнити :)


  • 1
?

Log in

No account? Create an account