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 )
Когда Апач создаёт other child (в его терминах), то он форкается два
раза, после первого выходит, и таким образом у второго ppid оказывается 1.
> Итак что имеем: сигналы перехватывать надо, дабы успеть скинуть на
> винт все очереди. Но при получении USR1 & HUP процесс отвечающий за
> error.log почему-то остается ждать, что не есть хорошо
> (непонятно почему процесс который пишет в access.log все делает как хотелось
>бы).
Моя гипотеза - error_log никогда не закрывается всеми процессами,
а access_log - закрывается.
> Внимание вопрос: по каким событиям надо резко начинать флушить
> буфера и делать exit() ?
> МОжно конечно это делать сразу по EOF || SIGTERM || SIGHUP ||
> SIGUSR1. Но есть подозрение что в момент SIGUSR1 например еще есть
> что прочитать с STDIN. то есть надо дочитать до EOF. Натыкаемся на
> то что process_error не получает EOF если ему приходит sig.
Короче, смотреть нужно в районе src/main/http_logs.c
А зачем вообще нужны эти piped logs ?
Игорь Сысоев
http://sysoev.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 =