[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: как демонизировать программу?



Alexey Pechnikov -> debian-russian@lists.debian.org  @ Thu, 11 Feb 2010 18:00:32 +0300:

 >>  AP> Имхо fossil удобнее - распределенная система, с вики, веб-интерфейсом.
 >> 
 >> ... блекджеком и шлюхами.  Наличие сразу в комплекте веб-интерфейса с
 >> виками - это скорее недостаток, а не достоинство.  Это значит, что и
 >> вика там хреновая, скорее всего (ибо сервис побочный), и веб-интерфейс с
 >> шансами дырявый (по той же причине - и не дай бог оно еще и httpd свой
 >> имеет), и сама система версионирования хуже, чем могла бы быть, потому
 >> что усилия разработчиков отвлекаются на вики и веб-интерфейс.  Кто там
 >> чего говорил про unix way?

 AP> Расскажите-ка мне, чем сохраненная в системе версий html-страница
 AP> отличается от файла исходника? Ага, для удобства добавлен
 AP> специальный урл доступа к первым, но на движок оно никак не
 AP> влияет.

Вику обычно не только читают через веб-интерфейс, но и пишут.  И где-то
в этом процессе оно должно преобразовывать туда-сюда всяческую
викификацию.  В ней-то собака и порылась.  Либо викификация хреновая
(писать неудобно), как в cvstrac, либо движок сложный, либо и то, и
другое вместе.

Потому что мухи отдельно, котлеты отдельно.  Даже если автор у них один.

 AP> Насчет веб-интерфейса интереснее, но я полагаю, что для человека,
 AP> написавшего свой _браузер_ не нужны значительные усилия для
 AP> создания простого веб-интерфейса.

_Простой_ веб-интерфейс, согласно unix way, следует делать _другими_
утилитами.  Независимыми.

 >>  >> а в целом это юниксвей - переложить проблему демонизации на один
 >>  >> инструмент (inittab), проблему слушанья порта на другой (inetd)
 >>  >> и так далее.
 >> 
 >>  AP> Нет, unix-way это _один_ демон (runit), утилита для обмена данных с сокетом
 >>  AP> (tcpserver) и любая работающая с вводом-выводом утилита. А _два_ демона
 >>  AP> (добавим, паршивеньких) - это профанация. Притом "проблемы демонизации"
 >>  AP> вовсе не существует.
 >> 
 >> Стоило мне написать однострочник на sh в ответ на вопрос - выяснилось,
 >> что таки нет, существует...
 >> 
 >> P.S. А зачем для обмена данных с TCP-сокетом _утилита_?  С каких пор
 >> read(2) и write(2) (напомню, что раздел 2 - это даже не libc, это
 >> сисколлы ядра) перестали справляться?
 >> 
 >> P.P.S. Нет, я знаю, зачем на самом деле нужны tcpserver и tcpclient.  И
 >> какие задачи они НЕ решают.

 AP> Нужен кто-то, кто откроет сокет и поделится дескриптором.

Это не "для обмена данных с сокетом", согласись?

А утилита для открытия файлов, сокетов и прочей фигни называется socat.
Вот это - утилита, которая умеет ровно открыть и поделиться
дескриптором.  Но умеет это хорошо.  В отличие от.

-- 
Если ты не боишься синего экрана, то почему боишься черного?
 -- Д.Белявский


Reply to: