К статье
Практический материал

Администрирование · 9 мин

Как удалить зависший сеанс 1С

Как найти и удалить зависший сеанс 1С через консоль кластера, конфигуратор и командную строку. Способы для файловой и клиент-серверной базы, риски и профилактика.

Зависший сеанс 1С — это подключение пользователя, которое осталось активным в кластере серверов или в файловой базе, хотя сам пользователь уже закрыл программу или его компьютер выключился. Такие «фантомные» сеансы мешают обновлению конфигурации, блокируют регламентные задания, занимают лицензии и не дают выгнать пользователей перед обслуживанием базы.

Способ удаления зависит от режима работы базы: файловая или клиент-серверная. В клиент-серверном варианте сеансы управляются консолью кластера 1С, в файловом — через монопольный режим или перезапуск доступа к файлам. Ниже разобраны оба сценария, а также вариант с принудительным завершением процессов, когда штатные средства не помогают.

Как понять, что сеанс действительно завис

Не каждый «лишний» сеанс — зависший. Прежде чем удалять, убедитесь, что за сеансом нет живого пользователя. Типичные признаки зависшего сеанса: компьютер пользователя выключен или перезагружен, но сеанс в консоли остаётся; в колонке «Спящий сеанс» или «Последняя активность» время не обновляется часами; пользователь говорит, что программа давно закрыта, а база сообщает, что он ещё работает.

Обратная ситуация — активный сеанс, который выглядит подозрительно: пользователь просто свернул 1С и ушёл. Удаление такого сеанса приведёт к потере несохранённых данных в открытых документах. Поэтому первое действие — связаться с пользователем или проверить его рабочую станцию.

Сеанс висит, ПК выключенКлассический зависший сеанс

Можно удалять без риска для данных

Сеанс активен, пользователь на местеЖивой сеанс

Попросите пользователя выйти штатно

Время последней активности староеВероятно спящий сеанс

Проверьте настройки засыпания сеансов в кластере

Удаление сеанса через консоль кластера серверов

Основной инструмент для клиент-серверной 1С — консоль управления кластером (оснастка «Администрирование серверов 1С Предприятия»). Она устанавливается вместе с сервером 1С и доступна на машине администратора.

Откройте консоль, разверните нужный кластер, затем ветку с информационной базой и выберите пункт «Сеансы». В списке видны все текущие подключения: пользователь, компьютер, время начала, приложение (толстый клиент, веб-клиент, фоновое задание). Найдите нужный сеанс, кликните правой кнопкой и выберите «Удалить». Сеанс завершится принудительно — соединение разорвётся, а клиент при следующем обращении получит ошибку соединения.

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С Предприятия»
  2. 2
    Разверните кластер и найдите нужную информационную базу
  3. 3
    Откройте ветку «Сеансы» и найдите зависший сеанс по пользователю и времени начала
  4. 4
    Кликните правой кнопкой мыши и выберите «Удалить»
  5. 5
    Обновите список и убедитесь, что сеанс исчез

Чем отличается удаление сеанса от разрыва соединения

В консоли есть два похожих объекта: сеансы и соединения. Соединение — это физический канал между клиентом и сервером, сеанс — логическая сессия пользователя. Один сеанс может использовать несколько соединений. Удалять нужно именно сеанс: если разорвать только соединение, сеанс останется в кластере и продолжит занимать лицензию и блокировки.

Завершение сеанса в файловой базе

В файловом режиме консоли кластера нет, сеансы хранятся в самой базе. Проверить активных пользователей можно из конфигуратора: меню «Администрирование» → «Активные пользователи». Оттуда же сеанс можно попытаться завершить, но штатной кнопки принудительного удаления в старых версиях платформы нет — список носит информативный характер.

Если пользователь фактически вышел, а запись осталась, помогает установка монопольного режима: «Администрирование» → «Монопольный режим». Платформа попытается завершить все подключения. Если монопольный режим не устанавливается из-за «висящего» подключения по сети, причиной часто бывает зависший процесс 1cv8.exe на чужом компьютере или незакрытый файл базы на сетевом ресурсе.

Радикальный вариант для файловой базы на сетевой папке — завершить зависший процесс на компьютере пользователя или перезапустить службу «Сервер» (LanmanServer) на машине, где лежит база, что сбросит открытые дескрипторы файлов. Перед этим убедитесь, что никто не работает с базой, иначе возможна порча данных.

Принудительное завершение процессов на сервере

Иногда сеанс не удаляется из консоли — например, кластер перегружен или рабочий процесс завис. В этом случае можно завершить процессы операционной системы. На сервере 1С работают процессы ragent (агент кластера), rmngr (менеджер кластера) и rphost (рабочие процессы, в которых выполняются сеансы).

Завершение отдельного rphost снимет все сеансы, которые он обслуживал, — кластер автоматически поднимет новый рабочий процесс. Узнать, какой rphost обслуживает конкретный сеанс, можно в консоли: у сеанса есть привязка к рабочему процессу. Завершать ragent следует только в крайнем случае — это остановит весь кластер и все базы на нём.

bash
tasklist | findstr rphost
taskkill /PID <номер_процесса> /F

Для автоматизации удобна утилита rac из состава сервера 1С — она позволяет завершить конкретный сеанс из командной строки без графической консоли, что полезно в скриптах обслуживания.

bash
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

Как предотвратить появление зависших сеансов

Полностью исключить зависшие сеансы нельзя, но их количество и последствия сильно снижаются настройками кластера. В свойствах информационной базы в консоли есть параметры «Интервал перезапуска», «Допустимый объём памяти» рабочих процессов, а в свойствах кластера — таймауты завершения спящих сеансов.

Ключевые параметры: «Время засыпания пассивного сеанса» и «Завершать спящие сеансы через». Если задать, например, засыпание через 15 минут и завершение через 30 минут, неактивные сеансы будут сниматься автоматически, не дожидаясь вмешательства администратора. Это особенно полезно для веб-клиентов и тонких клиентов через веб-сервер, где пользователи часто просто закрывают вкладку браузера.

Дополнительная мера — регламентный перезапуск рабочих процессов кластера (параметр «Интервал перезапуска» в свойствах рабочего процесса). Он очищает накопившиеся утечки памяти и «мусорные» подключения без полной остановки сервера.

Проверка результата и типичные ошибки

После удаления сеанса обновите список в консоли (F5) — сеанс должен исчезнуть. Если он появился снова с тем же пользователем, значит, на клиенте работает живой процесс, который переподключается: проверьте компьютер пользователя или фоновые задания, запускаемые от его имени.

Контрольные точки

Как проверить результат

Список сеансов после удаления
Норма

Сеанс отсутствует и не появляется снова

Тревожный признак

Сеанс пересоздаётся — ищите живой процесс или фоновое задание

Монопольный режим / обновление конфигурации
Норма

Устанавливается без ошибок о занятых подключениях

Тревожный признак

Ошибка оставшихся соединений — проверьте ветку «Соединения»

Лицензии
Норма

Освободившаяся лицензия доступна новым пользователям

Тревожный признак

Лицензия занята — возможно, осталось соединение без сеанса

Типичные ошибки
01
Удаление соединения вместо сеанса — лицензия и блокировки остаются занятыми
02
Завершение rphost без проверки — снимаются сеансы десятков работающих пользователей
03
Перезагрузка сервера 1С в рабочее время — обрыв всех транзакций и риск несогласованных данных
04
Удаление сеанса фонового задания во время обмена — возможны дубли выгрузки при повторном запуске

FAQ

Почему сеанс появляется снова сразу после удаления?

Значит, на стороне клиента работает процесс, который автоматически переподключается: открытый толстый клиент, обработка ожидания, фоновое задание от имени этого пользователя. Проверьте компьютер пользователя и ветку «Фоновые задания» в консоли кластера.

Можно ли удалить сеанс без прав администратора кластера?

Нет. Удаление сеансов требует аутентификации администратора кластера или администратора информационной базы, если для неё заданы пользователи. Рядовой пользователь может завершить только собственную работу штатным выходом из программы.

Потеряются ли данные пользователя при удалении его сеанса?

Данные, уже записанные в базу, сохранятся. Потеряется только то, что пользователь ввёл в открытые формы, но не записал. Если сеанс действительно завис (компьютер выключен), потерять нечего — клиент уже не существует.

Чем отличается блокировка базы от удаления сеансов?

Блокировка (установка кода блокировки в свойствах базы) запрещает новые подключения и по расписанию завершает существующие — это плановая процедура перед обслуживанием. Удаление сеанса — точечное принудительное действие против конкретного подключения.

Зависший сеанс занимает лицензию. Когда она освободится сама?

Без настройки таймаутов спящие сеансы могут удерживать лицензию неограниченно долго. Настройте в свойствах кластера параметры засыпания и завершения спящих сеансов — тогда лицензии будут освобождаться автоматически.

Что делать, если консоль кластера не открывается или кластер не отвечает?

Проверьте, запущена ли служба «Агент сервера 1С:Предприятия» на сервере. Если агент работает, но консоль не подключается, попробуйте утилиту rac с сервера локально. Перезапуск службы агента — крайняя мера, она обрывает все сеансы всех баз кластера.

Итог

Что важно запомнить

Зависший сеанс в клиент-серверной 1С удаляется через консоль кластера: ветка «Сеансы» → «Удалить». В файловой базе помогает монопольный режим или завершение зависшего процесса на клиенте. Перед принудительными действиями убедитесь, что сеанс действительно «мёртвый», а для профилактики настройте автоматическое завершение спящих сеансов.