Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : is@stack.net                         2:5020/400     21 Feb 2001  18:58:36
 To : All
 Subject : Re: Hесколько вопросов по программированию под FreeBSD.
 -------------------------------------------------------------------------------- 
 
 Valentin Nechayev <netch@segfault.kiev.ua> wrote:
 
 >>>> Eugene Grosbein wrote:
 > 
 >>>EG> Eugene, недавно в первый раз увидевший, что пишет апач в лог, когда
 >>>EG> SIGKILL детенышами тупо игнорируется.
 >>>А что можно написать в лог когда игнорируется *SIGKILL* ??
 > EG> KILL шлется детенышам, а в лог пишет предок.
 > 
 > Вот я и спрашиваю, что можно писать, когда __игнорируется__
 > *SIGKILL*? Расскажи, пожалуйста.
 
    Вот так в http_main.c убивают детей. Случай SIGKILL под пунктом 12:
 - ---
             switch (tries) {
             case 1:     /*  16ms */
             case 2:     /*  82ms */
                 break;
             case 3:     /* 344ms */
                 /* perhaps it missed the SIGHUP, lets try again */
                 ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING,
                             server_conf,
                     "child process %d did not exit, sending another SIGHUP",
                             pid);
                 kill(pid, SIGHUP);
                 waittime = 1024 * 16;
                 break;
             case 4:     /*  16ms */
             case 5:     /*  82ms */
             case 6:     /* 344ms */
                 break;
             case 7:     /* 1.4sec */
                 /* ok, now it's being annoying */
                 ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING,
                             server_conf,
                    "child process %d still did not exit, sending a SIGTERM",
                             pid);
                 kill(pid, SIGTERM);
                 break;
             case 8:     /*  6 sec */
                 /* die child scum */
                 ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, server_conf,
                    "child process %d still did not exit, sending a SIGKILL",
                             pid);
                 kill(pid, SIGKILL);
                 waittime = 1024 * 16; /* give them some time to die */
                 break;
             case 9:     /*   6 sec */
             case 10:    /* 6.1 sec */
             case 11:    /* 6.4 sec */
                 break;
             case 12:    /* 7.4 sec */
                 /* gave it our best shot, but alas...  If this really
                  * is a child we are trying to kill and it really hasn't
                  * exited, we will likely fail to bind to the port
                  * after the restart.
                  */
                 ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, server_conf,
                             "could not make child process %d exit, "
                             "attempting to continue anyway", pid);
                 break;
             }
 - ---
 Игорь Сысоев
 
 --- ifmail v.2.15dev5
  * Origin: Rambler Office news site (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Hесколько вопросов по программированию под FreeBSD.   Valentin Nechayev   21 Feb 2001 11:52:11 
 Hесколько вопросов по программированию под FreeBSD.   Oleg Derevenetz   21 Feb 2001 13:45:01 
 Re: Hесколько вопросов по программированию под FreeBSD.   is@stack.net   21 Feb 2001 18:58:36 
Архивное /ru.unix.bsd/16596c2882f8c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional