Есть ли способ остановить сервер Apache без прекращения выполнения запросов, в основном способ сказать это - не принимать больше соединений и завершить работу, когда вы закончите свои текущие?
Есть ли способ остановить сервер Apache без прекращения выполнения запросов, в основном способ сказать это - не принимать больше соединений и завершить работу, когда вы закончите свои текущие?
Ответы:
Используйте apachectl -k graceful-stop
из здесь :
Сигнал WINCH или graceful-stop заставляет родительский процесс посоветовать дочерним элементам выйти после их текущего запроса (или немедленно выйти, если они ничего не обслуживают). Затем родитель удалит свой PidFile и прекратит прослушивание на всех портах. Родитель продолжит работу и будет следить за детьми, которые обрабатывают запросы. Как только все дочерние элементы будут завершены и завершены, или по истечении времени ожидания, указанного в GracefulShutdownTimeout, родитель также завершится.
Имейте в виду, что sys-v init использовал по умолчанию грациозную остановку и в качестве дополнительной опции использовал принудительную остановку. «Специальная» опция для постепенной остановки необходима только в том случае, если вы запускаете пользовательский менеджер процессов, который обычно убивает процессы.
/usr/sbin/apachectl stop
systemd
он не является специальным менеджером процессов, он не убивает процесс. Однако по умолчанию systemd также выполняетstop
неgraceful-stop
для Apache.