Режим сервиса операционной системы
SberMobile Server можно запускать в режиме сервиса операционной системы. Сервис работает независимо от авторизованных пользователей и может быть запущен, даже если нет ни одного авторизованного пользователя. Сервис не зависит от того, открыта ли консоль, и не может самостоятельно открывать окна. Режим сервиса и его поведение зависит от используемой ОС.
Сервис SberMobile Server регистрируется инсталлятором. Его конфигурация для авто-загрузки задается во время загрузки операционной системы.
Реализция режима сервиса зависит от операционной системы:
Для Microsoft Windows режим сервиса представлен сервисом Windows
Для Linux режим сервиса представлен фоновым (daemon) процессом
Microsoft windows
Установленным сервисом можно управлять через Start > Control Panel > Administration > Services.
Установка и деинсталляция сервиса
Сервис можно также установить из командной строки, передав /install
выполняемому сервису (thalamus_server_service.exe
). Чтобы избежать автоматическую загрузку сервиса при перезагрузке компьютера, следует передать аргумент /install-demand
.
В качестве второго параметра после параметра /install
можно опционально передать имя сервиса. Таким способом можно присвоить сервису новое имя вместо того, что было дано по умолчанию.
Деинсталляцию сервиса можно выполнить, передав выполняемому сервису параметр /uninstall
.
Для всех переключателей командной строки также указывают тире в виде префикса, а не косую черту (т.е., |
Запуск и остановка сервиса из командной строки
Для запуска и остановки сервиса доступны элементы выбора /start
и /stop
. Кроме того, аргумент /status
показывает, запущен ли уже сервис. Код выхода для команды статуса, когда сервис запущен, - 0, когда сервис не запущен - 3, и 1 - когда состояние статуса невозможно определить (например, когда сервис не установлен на Windows).
Автоматический перезапуск сервиса
Сервис Windows будет автоматически перезапущен при выходе с кодом выхода, отличным от нуля, или в случае сбоя. По сути это означает, что сервис всегда будет доступен до явной остановки через любой пользовательский интерфейс SberMobile Server или через контрольную панель сервиса Windows.
Linux/unix
Разные версии Linux используют разные подходы для сервисов автозапуска и автовореспауна (демонов), так что инсталлятор SberMobile Server делает все возможное для конфигурирования поведения любого автозапуска и автоматического перезапуска по умолчанию. Вот как это технически организовано:
SberMobile Server инсталляция Linux содержит несколько скриптов, которые можно использовать для автозапуска и автоматического перезапуска сервера:
скрипт
sbermobile_iiot_server
запускает сервер и ждет до его остановки. Он возвращает код выхода SberMobile Server, который соответствует0
, если был запрос на остановку сервера, и1
, если был запрос на перезапуск сервера. Другие ненулевые коды могут быть возвращены в случае остановки сервера по причине критической ошибки.скрипт
thalamus_server_service
запускает сервер как демон. Доступны аргументыstart
,stop
,restart
илиstatus
для запуска/остановки/перезапуска сервера или, соответственно, для отчета о его статусе.
Автозапуск и автореспаун для систем с демоном инициализации upstart
Для автозапуска и автореспауна сервера на системах, использующих демон инициализации Upstart
, инсталлятор SberMobile Server копирует файл конфигурации thalamus_server.conf
в директорию /etc/init
.
Для запуска сервера впервые, выполните команду initctl start sbermobile_iiot_server
.
Автозапуск и автореспаун для систем с демоном инициализации systemd
Для автозапуска и автореспауна сервера на системах, использующих демон инициализации systemd
, инсталлятор SberMobile Server копирует файл конфигурации thalamus_server.service
в директорию etcsystemdsystem
.
Чтобы активировать автозапуск и автореспаун сервиса, выполните команду systemctl enable thalamus_server.service
.
Для запуска сервера впервые, выполните команду systemctl restart thalamus_server.service
.
Обратите внимание, что инсталлятор SberMobile Server не активирует автоматический автозапуск и автореспаун на основе сервиса |
Для проверки работоспособности сервиса выполните команду systemctl status thalamus_server_service.service -l
.
Автозапуск без автореспауна
В очень редких случая может понадобиться активировать автозапуск SberMobile Server при запуске ОС, но без перезапуска, если перезапуск запрашивается через пользовательский интерфейс сервера.
Для активации автозапуска демона SberMobile Server при запуске ОС, но без перезапуска даже при соответствующем запросе через пользовательский интерфейс, используйте скрипт thalamus_server_service
:
Создайте символьную ссылку на него в директории инициализации сервисов (
/etc/init.d
или/etc/rc.d/init.d
), или
Выполните команду
update-rc.d thalamus_server_service defaults
(для Ubuntu и схожих версий Linux), илиВыполните команды
chkconfig --add thalamus_server_service
иchkconfig thalamus_server_service on
(для RedHat и LSB-совместимых версий Linux)