Hello Igor,
Wednesday, December 11, 2002, 8:10:45 PM, you wrote:
IS> On Wed, 11 Dec 2002, Strange Alex wrote:
>> итак apachectl start
>> 1 процесс /bin/sh -с /path/process error
>> и 2 !!! /path/process error (причем один из них имеет ppid 1 (init) 8-0 )
IS> Когда Апач создаёт other child (в его терминах), то он форкается два
IS> раза, после первого выходит, и таким образом у второго ppid оказывается 1.
Хм... точно. НО все равно непонятно, почему он по разному выходит для
процессов обрабатывающих access.log & error.log. ПОчему для error
процесса shell умирает, а сам процесс нет?
>> Итак что имеем: сигналы перехватывать надо, дабы успеть скинуть на
>> винт все очереди. Но при получении USR1 & HUP процесс отвечающий за
>> error.log почему-то остается ждать, что не есть хорошо
>> (непонятно почему процесс который пишет в access.log все делает как
>хотелось бы).
IS> Моя гипотеза - error_log никогда не закрывается всеми процессами,
IS> а access_log - закрывается.
Так это баг или фича ? :)
>> Внимание вопрос: по каким событиям надо резко начинать флушить
>> буфера и делать exit() ?
>> МОжно конечно это делать сразу по EOF || SIGTERM || SIGHUP ||
>> SIGUSR1. Но есть подозрение что в момент SIGUSR1 например еще есть
>> что прочитать с STDIN. то есть надо дочитать до EOF. Натыкаемся на
>> то что process_error не получает EOF если ему приходит sig.
IS> Короче, смотреть нужно в районе src/main/http_logs.c
Чем и придется сейчас заниматься :)
IS> А зачем вообще нужны эти piped logs ?
Имея более сотни виртуальных хостов очень удобно ротейтить логи не
трогая сам апач. А сейчас в vhostlog добавляю еще и асинхронный
резолвер, соответственно очереди строк будут какое-то время в
памяти лежать, пока не отрезолвятся, соответственно когда апачу
взбредет в голову убить этот процесс надо все очереди сбросить на
винт. Правда я вот тут подумал, error.log резолвить то нафиг не надо,
соотвественно можно на него вообще внимания не обращать, и скидывать
на винт в реальном времени, а на то что будут висеть зомби до
следеющего сигнала - забить.
* И тройка назад поскакала, сметая с капусты росу ...
--
С уважением, Алексей Русанов
STRANGE-RIPN, RSA16-RIPE, 2:5000/104.51, ICQ: 8397628
Научно-производственное предприятие "Юникон Ру", Новосибирск
Тел: +7 3832 23-94-06
+7 3832 10-00-50
Факс: +7 3832 23-94-06
http://www.unicon.ru/
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =