Службы SysV обычно представлены исполняемыми сценариями в /etc/init.d/. В зависимости от реализации и соглашений дистрибутива сценарий принимает действия start, stop, restart или status. Команда service служит обёрткой, запускающей именованный сценарий в более контролируемой среде.
Init · Урок 2
Службы System V
Узнайте, как просматривать и обслуживать унаследованные сценарии служб SysV через поддерживаемую обёртку активной системы.
Поиск служб и действий
Сначала выведите имена сценариев:
$ ls -1 /etc/init.d/
Некоторые реализации предоставляют:
$ service --status-all
Маркеры в скобках и коды завершения зависят от обёртки, а сценарий может сообщить неизвестное состояние. Для одной службы изучите вывод справки сценария или документацию, не предполагая наличие каждого действия.
Что обычно оборачивает команда service?
Запуск и остановка
На реальном хосте под управлением SysV распространены формы:
$ sudo service SERVICE_NAME start
$ sudo service SERVICE_NAME stop
Заменяйте заполнитель только после определения службы, зависимых компонентов, текущего состояния и эксплуатационного влияния. Остановка сети, удалённого доступа, хранилища или аутентификации из удалённого сеанса может заблокировать доступ или повредить активную работу.
Прямая форма /etc/init.d/SERVICE_NAME ACTION может существовать, но на хосте с совместимостью активного менеджера используйте обращённую к менеджеру команду, чтобы он отслеживал состояние и зависимости.
Какая команда запрашивает остановку службы SysV peanut?
Reload, restart и status
restart обычно останавливает и снова запускает службу, вызывая перерыв. reload может попросить службу перечитать конфигурацию без полного перезапуска, но только если это поддерживают сценарий и демон. Некоторые сценарии предлагают force-reload с определяемым дистрибутивом запасным поведением.
Проверяйте конфигурацию до reload или restart, сохраняйте второе административное соединение при изменениях удалённого доступа и после операции проверяйте реальную конечную точку и журналы службы, а не только статус «running».
$ sudo service SERVICE_NAME status
$ sudo service SERVICE_NAME reload
Почему нельзя считать reload эквивалентом restart?
Текущее управление и включение при загрузке
Запуск службы сейчас не обязательно включает её для будущих runlevel. Включение при загрузке представлено ссылками runlevel и управляется средствами дистрибутива: update-rc.d, chkconfig или генераторами совместимости менеджера служб.
Не создавайте ссылки S и K вручную, пока не понимаете метаданные зависимостей и инструмент дистрибутива: ручные ссылки могут быть перезаписаны или неверно упорядочены.
Обязательно ли service SERVICE start включает службу при будущих загрузках?
Урок завершён
Вы завершили Службы System V
Теперь вы можете управлять унаследованной службой, не путая текущее состояние и политику загрузки.
Находить реальный сценарий и поддерживаемые действия.
Ставить имя службы перед действием в синтаксисе обёртки.
Проверять конфигурацию и результат reload или restart.
Управлять будущим включением через инструменты дистрибутива.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт