Apache child process still did not exit, sending a SIG

Voor vragen over Linux systeembeheer van Plesk servers

Moderators: Ubuntu-dude, pleskert

Apache child process still did not exit, sending a SIG

Postby lanz on Thu Aug 24, 2006 11:45 am

Hallo,

ik heb een hosting machine draaien op Ubuntu i.c.m. Plesk 7.5 reloaded.

Nu is het zo dat ik sinds 2 dagen apache erg traag is. Als ik in de error.log kijk krijg ik deze error:

[Wed Aug 23 16:48:23 2006] [warn] child process 28263 still did not exit, sending a SIGTERM
[Wed Aug 23 16:48:23 2006] [warn] child process 28264 still did not exit, sending a SIGTERM
[Wed Aug 23 16:48:23 2006] [warn] child process 28265 still did not exit, sending a SIGTERM
[Wed Aug 23 16:48:23 2006] [warn] child process 28266 still did not exit, sending a SIGTERM
[Wed Aug 23 16:48:23 2006] [warn] child process 28267 still did not exit, sending a SIGTERM

in de access log verschijnt de volgende melding:

127.0.0.1 - - [20/Aug/2006:20:46:42 +0200] "GET / HTTP/1.1" 200 912 "-" "monit/4.5.1"
127.0.0.1 - - [20/Aug/2006:21:11:43 +0200] "GET / HTTP/1.1" 200 912 "-" "monit/4.5.1"
127.0.0.1 - - [20/Aug/2006:21:36:43 +0200] "GET / HTTP/1.1" 200 912 "-" "monit/4.5.1"
127.0.0.1 - - [20/Aug/2006:22:01:43 +0200] "GET / HTTP/1.1" 200 912 "-" "monit/4.5.1"
127.0.0.1 - - [20/Aug/2006:22:26:43 +0200] "GET / HTTP/1.1" 200 912 "-" "monit/4.5.1"

Wanneer ik op google zoek op deze foutmeldingen vind ik voornamelijk dezelfde antwoorden waarin uitgelegd wordt wat er gebeurd (zie hieronder).

child processes have a SIGTERM handler that simply sets a flag and
returns to whatever was happening before; it will be the main thread
of a child that receives a message via another mechanism which tells
it to wake up and decide to exit

the SIGTERM isn't expected to interrupt any important processing going
on in the child (be it worker threads or child exit hook)

SIGTERM is sent multiple times to work around any signal loss or other
glitch (not sure when this is effective in reality); I don't see how
it is harmful to any code that must run

the SIGKILL is what yanks the rug out from under the child and any
child exit hooks; the web server simply must exit in a reasonable
timeframe if the administrator tells it too, stuck code or not

Kortom uitleg wat een SIGTERM en SIGKILL is maar niet wat er nu daadwerkelijk fout gaat.

Heeft iemand hier een idee waat het aan kan liggen?
Alvast bedankt voor jullie tijd.
lanz
 

Postby Carlos on Mon Jan 21, 2008 3:46 pm

Het onderstaande kan van toepassing zijn:

Instead of using "apachectl restart", try using "apachectl graceful" to see
if that makes any difference.

You may also want to adjust GracefulShutdownTimeout for this case to
only allow a certain time for child processes to shutdown.

http://httpd.apache.org/docs/2.2/mod/mp ... owntimeout

By fiddling with this, you may be able to see if given time that the child
processes do actually shutdown, or whether they actually hang. If they
hang, then you may be able to attach using gdb to the child process and
work out where it is hanging.

It may just be a case that with Python loaded it takes longer to shutdown
than Apache expects it to and so it abruptly kills it. I haven't been able
to find any directive for specifying a shutdown timeout for "restart" which
it waits before it kills the child processes.
Carlos
Moderator
 
Posts: 32
Joined: Mon Jul 30, 2007 4:49 pm


Return to Linux systeembeheer

Who is online

Users browsing this forum: No registered users and 1 guest

cron