Режим сервиса операционной системы

AggreGate Server можно запускать в режиме сервиса операционной системы. Сервис работает независимо от авторизованных пользователей и может быть запущен, даже если нет ни одного авторизованного пользователя. Сервис не зависит от того, открыта ли консоль, и не может самостоятельно открывать окна. Режим сервиса и его поведение зависит от используемой ОС.

Сервис AggreGate Server регистрируется инсталлятором. Его конфигурация для авто-загрузки задается во время загрузки операционной системы.

Реализция режима сервиса зависит от операционной системы:

  • Для Microsoft Windows режим сервиса представлен сервисом Windows

  • Для Linux режим сервиса представлен фоновым (daemon) процессом

Microsoft windows

Установленным сервисом можно управлять через Start > Control Panel > Administration > Services.

Установка и деинсталляция сервиса

Сервис можно также установить из командной строки, передав /install выполняемому сервису (%LS_BINARY%_service.exe). Чтобы избежать автоматическую загрузку сервиса при перезагрузке компьютера, следует передать аргумент /install-demand.

В качестве второго параметра после параметра /install можно опционально передать имя сервиса. Таким способом можно присвоить сервису новое имя вместо того, что было дано по умолчанию.

Деинсталляцию сервиса можно выполнить, передав выполняемому сервису параметр /uninstall.

Для всех переключателей командной строки также указывают тире в виде префикса, а не косую черту (т.е., -uninstall) или двойное тире (т.е., --uninstall).

Запуск и остановка сервиса из командной строки

Для запуска и остановки сервиса доступны элементы выбора /start и /stop. Кроме того, аргумент /status показывает, запущен ли уже сервис. Код выхода для команды статуса, когда сервис запущен,  - 0, когда сервис не запущен - 3, и 1 - когда состояние статуса невозможно определить (например, когда сервис не установлен на Windows).

Автоматический перезапуск сервиса

Сервис Windows будет автоматически перезапущен при выходе с кодом выхода, отличным от нуля, или в случае сбоя. По сути это означает, что сервис всегда будет доступен до явной остановки через любой пользовательский интерфейс AggreGate Server или через контрольную панель сервиса Windows.

Linux/unix

Разные версии Linux используют разные подходы для сервисов автозапуска и автовореспауна (демонов), так что инсталлятор AggreGate Server делает все возможное для конфигурирования поведения любого автозапуска и автоматического перезапуска по умолчанию. Вот как это технически организовано:

AggreGate Server инсталляция Linux содержит несколько скриптов, которые можно использовать для автозапуска и автоматического перезапуска сервера:

  • скрипт ag_server запускает сервер и ждет до его остановки. Он возвращает код выхода AggreGate Server, который соответствует 0, если был запрос на остановку сервера, и 1, если был запрос на перезапуск сервера. Другие ненулевые коды могут быть возвращены в случае остановки сервера по причине критической ошибки.

  • скрипт %LS_BINARY%_service запускает сервер как демон. Доступны аргументы start, stop, restart или status для запуска/остановки/перезапуска сервера или, соответственно, для отчета о его статусе.

Автозапуск и автореспаун для систем с демоном инициализации upstart

Для автозапуска и автореспауна сервера на системах, использующих демон инициализации Upstart, инсталлятор AggreGate Server копирует файл конфигурации %LS_BINARY%.conf  в директорию /etc/init.

Для запуска сервера впервые, выполните команду initctl start ag_server.

Автозапуск и автореспаун для систем с демоном инициализации systemd  

Для автозапуска и автореспауна сервера на системах, использующих демон инициализации systemd, инсталлятор AggreGate Server  копирует файл конфигурации %LS_BINARY%.service  в директорию etcsystemdsystem.

Чтобы активировать автозапуск и автореспаун сервиса, выполните команду systemctl enable %LS_BINARY%.service.

Для запуска сервера впервые, выполните команду systemctl restart %LS_BINARY%.service.

Обратите внимание, что инсталлятор  AggreGate Server  не активирует автоматический автозапуск и автореспаун на основе сервиса systemd. Для перезагрузки демона systemctl выполните команду systemctl daemon-reload

Для проверки работоспособности сервиса выполните команду systemctl status %LS_BINARY%_service.service -l.

Автозапуск без автореспауна

В очень редких случая может понадобиться активировать автозапуск AggreGate Server при запуске ОС, но без перезапуска, если перезапуск запрашивается через пользовательский интерфейс сервера.

Для активации автозапуска демона AggreGate Server  при запуске ОС, но без перезапуска даже при соответствующем запросе через пользовательский интерфейс, используйте скрипт %LS_BINARY%_service:

  • Создайте символьную ссылку на него в директории инициализации сервисов (/etc/init.d или /etc/rc.d/init.d), или

  • Выполните команду update-rc.d %LS_BINARY%_service defaults(для Ubuntu и схожих версий Linux), или

  • Выполните команды chkconfig --add %LS_BINARY%_service и chkconfig %LS_BINARY%_service on (для RedHat и LSB-совместимых версий Linux)