
Я пытаюсь перезапустить Apache на своем сервере, но, похоже, это не завершает все процессы, которые Apache в данный момент выполняет.
Команда, которую я использую, это
sudo /etc/init.d/apache2 перезапустить
Есть ли что-то еще, что мне следует сделать, чтобы завершить все дочерние процессы?
Спасибо
Джош Пеннингтон
решение1
Дочерние процессы должны останавливаться, как только они закончат обработку текущих запросов. Вы действительно хотите, чтобы ваш сервер сбрасывал соединения в середине обслуживания страницы? Перезапущенный сервер будет обрабатывать все новые соединения, поскольку он взял на себя прослушивание новых соединений.
Проверьте примерно через минуту, чтобы убедиться, что дети старого сервера умерли. Если они все еще работают, то у вас, вероятно, проблема.
решение2
Что-то может заблокироваться в процессе. Попробуйте:
sudo /etc/init.d/apache stop
sudo pgrep apache
Если команда выше что-то вернет, выполните:
sudo pkill -9 apache
Затем снова запустите apache:
sudo /etc/init.d/apache2 start
решение3
ПРОЦЕСС_АПАЧЕ=ps -ef | grep apache | awk {'print $2'}
убить -9 $PROCESS_APACHE