Назад | Перейти на главную страницу

Изящно остановить Apache

Есть ли способ остановить сервер Apache, не прерывая выполнение запросов, в основном способ сообщить об этом - не принимать больше подключений и отключиться, когда вы завершите свои текущие?

Да.

apachectl -k graceful-stop

https://httpd.apache.org/docs/2.4/stopping.html

Использовать apachectl -k graceful-stop из Вот:

Сигнал WINCH или graceful-stop заставляет родительский процесс посоветовать дочерним процессам выйти после их текущего запроса (или немедленно выйти, если они ничего не обслуживают). Затем родительский файл удалит свой PidFile и перестанет прослушивать все порты. Родитель продолжит работу и будет следить за дочерними элементами, обрабатывающими запросы. После того, как все дочерние элементы завершены и завершены или истечет время ожидания, указанное в GracefulShutdownTimeout, родительский элемент также выйдет.

Имейте в виду, что sys-v init по умолчанию выполнял плавную остановку и имел принудительную остановку в качестве дополнительной опции. «Специальная» опция для корректной остановки необходима только в том случае, если вы запускаете собственный диспетчер процессов, который обычно завершает процессы.