Служба лицензирования 1С зависла: перезапуск на Windows и Linux
Содержание
Перезапустить службу лицензирования 1С можно за минуту: на Windows откройте services.msc, найдите службу менеджера лицензий (для аппаратных ключей это Sentinel LDK License Manager), нажмите «Перезапустить». На Linux хватит sudo systemctl restart с именем нужной службы. Но сначала выясните, какую именно службу вы собираетесь трогать.
В 1С «служба лицензирования» — обиходное название сразу нескольких вещей. Это менеджер лицензий для USB-ключей, агент сервера 1С:Предприятия, который выдаёт программные лицензии, и отдельный сервер лицензирования, если он у вас развёрнут. Перезапуск не того компонента ничего не даст, а то и выбьет из базы всех пользователей.
Что перезапускать: три разные «службы лицензирования»
Первым делом определите, откуда берётся лицензия. От этого зависит, какую службу трогать.
| Схема лицензирования | Что отвечает за лицензию | Что перезапускать |
|---|---|---|
| USB-ключ (HASP / Guardant) на сервере или ПК | Менеджер лицензий производителя ключа | Службу менеджера лицензий (Sentinel LDK License Manager) |
| Программная лицензия, клиент-серверный режим | Агент сервера 1С:Предприятия | Службу агента сервера |
| Программная лицензия, файловая база | Лицензия привязана к ПК и лежит в файлах | Службу не нужно — смотрите раздел про диагностику |
| Отдельный сервер лицензирования | Его собственная служба | Именно её, на том сервере, где она стоит |
Если вы не знаете, какая схема у вас, откройте консоль администрирования серверов 1С и посмотрите, где клиенты получают лицензии. Для файловой базы без ключа служба обычно ни при чём — там дело в самой лицензии, а не в сервисе.
Быстрая проверка: ключ физически вставлен в сервер, а пользователи жалуются на «не обнаружен ключ защиты»? Начинайте с менеджера лицензий. Ключа нет, а лицензии программные? Начинайте с агента сервера.
Когда перезапуск не поможет
Перезапуск лечит зависший процесс. Он не лечит:
- 🔑 ключ, который физически не виден в системе (проверьте порт, кабель, драйвер);
- 📄 просроченную или удалённую программную лицензию;
- 🌐 закрытый порт между клиентом и сервером лицензий;
- 🧩 лицензию, у которой кончилось число одновременных подключений.
Если после перезапуска ошибка осталась, переходите к разделу про диагностику.
Что проверить перед перезапуском
Перезапуск службы на рабочем сервере обрывает сеансы. Выполните короткую подготовку.
Если сервер большой, лучше выбрать окно вне рабочих часов. В обычной конторе на 5–10 человек достаточно написать в общий чат: «через 5 минут перезапускаем сервер лицензий».
Перезапуск службы на Windows
Есть три способа. Начинайте с графического — он нагляднее и не даёт промахнуться с названием.
Способ 1. Через оснастку «Службы»
- Нажмите
Win+R, введитеservices.msc, Enter. - Найдите нужную службу. Для USB-ключей —
Sentinel LDK License Manager. Для сервера 1С — агент сервера, в названии есть «1С:Предприятие» и «Server Agent». - Щёлкните по службе правой кнопкой и выберите «Перезапустить».
- Дождитесь статуса «Выполняется». Если служба стоит в «Запускается» дольше минуты, переходите к разделу про ошибки.
Для списка служб с поиском по слову включите сортировку по имени и найдите нужную строку вручную: поле поиска в этой оснастке не предусмотрено.
Способ 2. Через командную строку
Откройте cmd или PowerShell от имени администратора. Остановка и запуск двумя командами:
net stop hasplms
net start hasplms
Здесь hasplms — внутреннее имя службы Sentinel LDK License Manager. Чтобы узнать имя своей службы, выполните:
sc query state= all | findstr /i "1c hasp"
Для агента сервера 1С внутреннее имя зависит от версии платформы, поэтому сначала посмотрите его командой выше и подставьте в net stop / net start. Если имя содержит пробелы, возьмите его в кавычки.
Способ 3. Через PowerShell
Restart-Service -Name hasplms -Force
Get-Service -Name hasplms
Первая команда перезапускает службу, вторая показывает статус. Ключ -Force нужен, если у службы есть зависимые службы: он остановит и их.
Перезапуск агента сервера 1С разрывает все сеансы пользователей. Не делайте этого в разгар рабочего дня без предупреждения. Незакрытые документы в этот момент не сохранятся.
Что делать, если служба не останавливается
Бывает, что статус «Останавливается» висит бесконечно. Тогда:
- Откройте диспетчер задач, вкладка «Подробности».
- Найдите процесс службы (для агента сервера —
ragent.exe, для менеджера лицензий —hasplms.exe). - Завершите процесс.
- Запустите службу заново.
Принудительное завершение — крайняя мера. Сначала дайте штатной остановке минуту-две.
Перезапуск службы на Linux
На Linux всё делается через systemd. Все команды выполняйте от root или через sudo.
sudo systemctl restart hasplmd
sudo systemctl status hasplmd
Здесь hasplmd — имя менеджера лицензий Sentinel в большинстве дистрибутивов. Если вы ставили сервер 1С из стандартного пакета, служба обычно называется srv1cv83 (число зависит от версии платформы). Проверьте точное имя:
systemctl list-units --type=service | grep -i -E "1c|hasp"
Дальше те же действия: restart, затем status. В статусе должно быть active (running). Если вместо этого failed, смотрите журнал:
journalctl -u hasplmd -n 50 --no-pager
Последние 50 строк чаще всего называют причину: занят порт, нет прав на каталог, отсутствует драйвер ключа.
Мягкий и жёсткий перезапуск
| Команда | Что делает | Когда нужна |
|---|---|---|
systemctl reload | Перечитывает конфигурацию без остановки | Если служба поддерживает; сеансы не рвутся |
systemctl restart | Останавливает и запускает | Обычный случай, служба зависла |
systemctl kill + start | Принудительно убивает процесс | Служба не отвечает на restart |
Не все службы поддерживают reload. Если команда вернула ошибку, значит, поддержки нет, и придётся делать restart.
Как проверить, что служба лицензирования заработала
После перезапуска не считайте дело законченным, пока не проверили результат.
- Служба в статусе «Выполняется» (Windows) или
active (running)(Linux). - Откройте веб-интерфейс менеджера лицензий Sentinel:
http://localhost:1947. В нём есть раздел с подключёнными ключами. Ваш ключ должен быть в списке. - Запустите 1С на тестовом ПК и зайдите в базу. Если вход идёт без ошибок лицензирования, всё в порядке.
- Откройте консоль администрирования серверов 1С и убедитесь, что сеансы пользователей создаются.
Если веб-интерфейс на порту 1947 не открывается, служба либо не запустилась, либо порт занят другой программой.
Если после перезапуска ошибка осталась
Здесь опасно ходить кругами: пятый перезапуск подряд ничего не изменит. Идите по списку.
netstat -ano | findstr 1947 (Windows) или ss -tlnp | grep 1947 (Linux) и остановите конфликтующий процесс, либо поменяйте его порт.ufw / firewalld на Linux.Что искать в журналах
Если интерфейс не помог, смотрите журнал событий Windows (раздел «Приложение») или journalctl на Linux. Ищите записи вокруг времени сбоя. Для 1С дополнительно есть технологический журнал: в нём видно, на каком этапе запрос лицензии оборвался.
Типичные ошибки при перезапуске
Эти промахи встречаются чаще всего.
- ❌ Перезапустили агент сервера вместо менеджера лицензий. Сбой остался, а пользователей выбило из базы.
- ❌ Перезапуск «на живую» без предупреждения. Люди теряют несохранённые данные.
- ❌ Остановили службу, а запустить забыли. Особенно часто с
net stopв скрипте, который упал на середине. - ❌ Работали под обычной учётной записью. Команда выдаёт «отказано в доступе», а админ думает, что служба сломана.
- ❌ Перезапускали службу на ПК пользователя, а ключ стоит на сервере. Служба на клиенте просто ни за что не отвечает.
Если видите «Отказано в доступе» или «Системная ошибка 5», откройте консоль заново через «Запуск от имени администратора».
Автоматический перезапуск службы по расписанию
Если служба зависает регулярно, автоматизируйте перезапуск. Но сначала найдите причину: перезапуск по cron лишь прячет проблему.
Windows: планировщик заданий
Создайте файл restart_lic.bat:
@echo off
net stop hasplms
timeout /t 10 /nobreak
net start hasplms
Затем в планировщике заданий создайте задачу: запуск от SYSTEM, триггер — ночью, например в 03:30, действие — запуск этого файла. Пауза в 10 секунд даёт службе время полностью остановиться.
Windows: восстановление службы
В свойствах службы откройте вкладку «Восстановление» и для первого и второго сбоя выберите «Перезапуск службы». Windows сама поднимет её при падении, и скрипты не нужны.
Linux: автоперезапуск в systemd
Создайте переопределение:
sudo systemctl edit hasplmd
И добавьте:
[Service]
Restart=on-failure
RestartSec=10
После этого systemd будет поднимать службу через 10 секунд после аварийного завершения. Для плановой ночной перезагрузки используйте таймер systemd или запись в cron.
Автоперезапуск по расписанию хорош как заплатка на неделю. Если служба падает каждые несколько дней, ищите причину: драйвер, питание USB-порта, нехватка памяти на сервере.
Безопасность и аккуратность
Лицензионная служба — чувствительный узел. Несколько правил.
- 🔒 Не открывайте порт 1947 в интернет. Менеджер лицензий нужен только внутри локальной сети.
- 👤 Работайте под учётной записью с минимально необходимыми правами, а не под общим администратором.
- 💾 Перед работой с лицензионными файлами сделайте копию каталога с ними. Потеря файла программной лицензии иногда означает повторную активацию.
- 📝 Записывайте, когда и зачем перезапускали службу. Через месяц это поможет увидеть закономерность.
Если вы встретите предложения «обойти» лицензирование, скачав модифицированные файлы, откажитесь: это нарушение прав правообладателя и частый способ занести вредоносный код на сервер. Легальный путь при потере лицензии — восстановление через службу поддержки и по регистрационным данным.
Закроются ли у пользователей базы при перезапуске службы лицензирования?
Сколько занимает перезапуск?
Нужно ли перезагружать весь сервер, если перезапуск службы не помог?
Можно ли перезапускать службу, не имея прав администратора?
sudo на Linux. Обратитесь к системному администратору.