On Thu, Aug 27, 2009 at 11:06:36PM +0400, Alexey Pechnikov wrote: > Имеем inittab для не-демонов, /etc/init.d/ для демонов всех сортов и > inetd.conf > для сетевых не-демонов - целый зоопарк. Вопрос: зачем нужен режим демонизации > в сервисах, если их прекрасно можно и без этого запустить? Далее, зачем нужна > встроенная работа с syslog, когда можно передавать в лог stdout & stderr > через > пайп (связку программы с логирующей утилитой могут обеспечить runit, > daemontools, etc., если не хочется вручную перенапрявлять вывод).
Ты все в кучу свалил. init.d и inittab вообще не решают задачу демонизации. В обсуждаемом контексте (запуск и управление сервисами) они могут работать только с процессами, которые _сами_по_себе_ запускаются как демоны, т.е. без управляющего терминала. Задачи у этих двух систем разные: 1. inittab обеспечивает постоянную работу демона перезапуская в случае падения, 2.init.d (sysv-скрипты, хотя в общем и bsd-скрипты) -- это обертка для того чтобы: а) иметь общий интерфейс для управления разными демонами (/etc/init.d/service start|stop|restart|status). В дебе до логического завершения эту идею пытаются довести разрабатывая слой policy-rc.d, но, имхо, получается что-то унылое и некрасивое. б) задать порядок запуска скриптов при инициализации и реализовать уровни запуска. runit (и daemontools) решает все эти задачи: 1. обеспечивает общий интерфейс управления службами. не хуже чем init.d и всяко уж повеселее чем policy-layer, start-stop-daemons etc. (скрипты запуска куда проще получаются); 2. определяет порядок запуска скриптов. тоже не хуже. изначально параллельный запуск, простой учет завимостей, порядок запуска не определяется номерами ссылок, а только зависимости, что, в-общем-то, true. 3. обеспечивает постоянную работу служб, перезапуская их в случае падения (чего никак не могут делать скрипты в init.d) без потери возмоности просто их останавливать (с чем проблемы у inittab). а также: 4. позволяет демонизировать процессы, которые без управляющего терминала работать не могут (правда, есть проблемы с запуском процессов, которые только демонами и могут запускаться :-) ) 5. позволяет просто демонизировать пользовательские процессы. тоже true. runit достаточно хорош даже для того, чтобы быть в busybox (и он там есть). А вот inetd тут вроде вообще ни при чем. У него своя работа. --- С уважением, Роман Гуща -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org