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

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

Как отключить зависший сеанс в 1С

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

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

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

Важно понимать разницу между «спящим» сеансом (пользователь просто отошёл) и действительно зависшим (клиент мёртв, а соединение висит). Первый случай решается регламентом и настройками таймаутов, второй требует ручного вмешательства. Необдуманное завершение активного сеанса может привести к потере несохранённых данных пользователя.

Как отличить зависший сеанс от активного

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

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

Опасно путать зависший сеанс с длительной операцией: проведение большого документа, закрытие месяца или формирование тяжёлого отчёта могут выглядеть как «зависание». Если пользователь сообщает, что программа «думает», сначала проверьте загрузку процессора и диска на его компьютере и на сервере СУБД.

Сеанс висит, клиент закрытЗависший сеанс

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

Клиент открыт, но не отвечаетДлительная операция или зависание клиента

Проверить загрузку CPU на ПК пользователя

Много «спящих» сеансовПользователи не закрывают программу

Настроить таймауты завершения сеансов

Сеанс блокирует регламентные заданияФоновое задание зависло

Проверить ветку «Сеансы» и фоновые задания в консоли

Отключение сеанса через консоль кластера серверов 1С

Основной инструмент для клиент-серверного режима — консоль администрирования серверов 1С (1CV8 Servers.msc). Она устанавливается вместе с сервером 1С и доступна администратору кластера. Откройте консоль, разверните нужный кластер, затем рабочий сервер и перейдите в ветку «Сеансы».

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

Если зависших сеансов много (например, после сбоя сети), можно выделить несколько сеансов с зажатой клавишей Ctrl и удалить их группой. Учтите: удаление сеанса происходит без предупреждения пользователя, несохранённые данные будут потеряны. Поэтому перед массовой чисткой стоит уведомить сотрудников.

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

Если сеанс не удаляется из консоли

Иногда консоль отказывается удалять сеанс или он появляется снова. Обычно это означает, что рабочий процесс rphost на сервере «залип» и не может корректно обработать команду. В этом случае проверьте список рабочих процессов в ветке «Процессы»: если один rphost занимает аномально много памяти или держит много мёртвых сеансов, его можно перезапустить.

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

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

В файловом режиме кластера серверов нет, и сеанс существует только пока работает процесс клиента. Если программа зависла, откройте диспетчер задач Windows (Ctrl+Shift+Esc), найдите процесс 1cv8.exe или 1cv8c.exe (тонкий клиент) и нажмите «Снять задачу».

Если база лежит в общей сетевой папке и зависший клиент на другом компьютере держит файл 1Cv8.1CD, локальные сеансы могут получать ошибку блокировки. В этом случае нужно завершить процесс на том компьютере, где он завис, — удалённо через диспетчер задач недостаточно, потребуется либо физический доступ, либо удалённое подключение (RDP, штатные средства удалённого администрирования).

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

Отключение пользователей через конфигуратор

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

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

Механизм блокировки удобен перед обновлением конфигурации: администратор устанавливает блокировку, пользователи получают сообщение и завершают работу штатно, а оставшиеся сеансы отключаются принудительно по таймауту. Это безопаснее, чем ручное удаление каждого сеанса в консоли.

Программное завершение сеансов и автоматизация

Для регулярной борьбы с зависшими сеансами удобно автоматизировать их удаление. Сервер 1С поддерживает программный интерфейс администрирования — через COM-объект V83.ComConnector, утилиту RAC (входит в состав сервера) или REST-интерфейс RAS. С помощью RAC можно получить список сеансов и удалить нужные из командной строки или скрипта.

Также в свойствах информационной базы в консоли кластера есть параметры автозавершения: «завершать спящие сеансы» и «принудительно завершать прерванные сеансы». Настройка этих таймаутов избавляет от ручной чистки: сервер сам будет снимать сеансы, клиенты которых перестали отвечать.

bash
rac session list --cluster=<ID_кластера> --infobase=<ID_базы>
rac session terminate --cluster=<ID_кластера> --session=<ID_сеанса>

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

Настройка таймаутов, чтобы сеансы не зависали

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

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

Маршрут решения

Как выбрать действие

Клиент у пользователя закрыт, сеанс висит в кластереУдалите сеанс через консоль кластера (ветка «Сеансы»)
Консоль не удаляет сеанс, процесс rphost зависПерезапустите рабочий процесс, предупредив пользователей
Файловая база, программа зависла у пользователяСнимите процесс 1cv8.exe через диспетчер задач
Зависшие сеансы появляются регулярноНастройте таймауты завершения сеансов и автоматическую чистку через RAC
Нужно отключить всех перед обновлениемИспользуйте блокировку работы пользователей в конфигурации

Частые ошибки при отключении сеансов

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

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

Типичные ошибки
01
Удаление сеанса без проверки — обрыв длительной операции и потеря данных пользователя
02
Перезапуск службы сервера 1С в рабочее время — массовое отключение всех пользователей
03
Ежедневная ручная чистка вместо настройки таймаутов — проблема не решается, а маскируется
04
Игнорирование журнала регистрации — причина зависаний (сеть, СУБД, блокировки) остаётся ненайденной
Контрольные точки

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

Список сеансов в консоли кластера
Норма

Зависший сеанс отсутствует

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

Сеанс появился снова с тем же компьютером

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

Количество занятых лицензий уменьшилось

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

Лицензия осталась занятой — проверьте другие сеансы

Журнал регистрации
Норма

Нет повторяющихся ошибок соединения

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

Ошибки повторяются — ищите причину в сети или СУБД

Работа пользователя
Норма

Пользователь вошёл заново и работает

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

Вход невозможен, ошибки базы — нужна проверка целостности

Итог

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

Зависший сеанс в клиент-серверной 1С отключается через консоль кластера (ветка «Сеансы» → «Удалить»), в файловой — снятием процесса клиента. Перед отключением убедитесь, что сеанс действительно мёртв, а не выполняет длительную операцию. Регулярные зависания лечатся настройкой таймаутов и поиском причины, а не ручной чисткой.

Частые вопросы о зависших сеансах 1С

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

Нет. Управление сеансами в консоли кластера требует прав администратора кластера или информационной базы. Обычный пользователь может завершить только собственный клиент на своём компьютере через диспетчер задач. Если у вас нет нужных прав, обратитесь к администратору сервера 1С.

Через какое время сервер сам удалит зависший сеанс?

Это зависит от настроек таймаутов в свойствах информационной базы и параметров кластера. По умолчанию «спящие» и прерванные сеансы могут существовать довольно долго. Если автоматическое завершение не настроено, сеанс будет висеть до перезапуска рабочего процесса, поэтому таймауты стоит задать явно.

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

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

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

Если клиент на компьютере пользователя не завершён, а просто потерял связь, при восстановлении соединения он может переподключиться и создать новый сеанс. Также причиной бывает зависший рабочий процесс rphost. Проверьте, действительно ли клиент закрыт, и при повторении проблемы перезапустите рабочий процесс.

Как отключить всех пользователей перед обновлением конфигурации?

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

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

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