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: