This is mostly because the script is hang at some point , the server still keeps the connection, this will end up where server can’t accept new connection.
This is a dirty approach – it will kill all process having waiting time > 30s
#/bin/bash
#Delete all apache having process with waiting time >30s
GetAllWorkers()
{
AllWorkers=$(apache2ctl fullstatus | grep ” W ” | awk ‘$6>30 {print $2}’)
for PID in $AllWorkers; do
echo stopping $PID with SIGTERM
kill -9 $PID
done
}
GetAllWorkers