Доброе утро,
Я пытаюсь определить, что делает svcadm refresh apache22. На этой неделе у нас возникла проблема с подключением к apache, из-за которой никто не может получить доступ ко всему, что обслуживает apache. Выполнение обновления, кажется, позволяет пользователям снова войти, но со временем (@ 4 часа) мы получаем ту же проблему (тайм-ауты сеанса).
Svcadm refresh просто читает файлы конфигурации / сертификаты? Мы, кажется, видим, что многие дочерние процессы пребывают в изящном состоянии после обновления (это число продолжает расти. Это происходит с обновлением, или оно просто помогает раскрыть, что происходит?
Было бы полезно лучше понять, что происходит при обновлении, поскольку оно не требует остановки / запуска сервера apache, что помогает поддерживать бизнес в некоторых критических вопросах.
svcs -l apache22
показывает, что манифест службы SMF можно найти в /lib/svc/manifest/network/http-apache22.xml
.
Глядя на манифест, он показывает, что метод обновления определяется как:
<exec_method
type='method'
name='refresh'
exec='/lib/svc/method/http-apache22 refresh'
timeout_seconds='60' />
Смотря на /lib/svc/method/http-apache22
при вызове с аргументом ("$ 1") обновить он проходит изящный в сценарий Apachectl Apache.
Apache документирует эту команду в http://httpd.apache.org/docs/2.2/stopping.html#graceful.