Зависла 1С: снимаем клиент, сеанс и рабочий процесс сервера
Содержание
Чтобы принудительно завершить зависший процесс 1С на своём компьютере, откройте Диспетчер задач (Ctrl+Shift+Esc), найдите 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) и нажмите «Снять задачу». Если база клиент-серверная и после этого сеанс всё ещё «висит», его удаляют в консоли администрирования серверов или командой rac session terminate.
Дальше всё зависит от того, что именно зависло: окно у одного пользователя, сеанс на сервере или весь рабочий процесс rphost. Способы ниже идут от самого мягкого к самому жёсткому. Переходите к следующему, только если предыдущий не помог.
С чего начать: что именно зависло
Сначала поймите, где проблема. От этого зависит, кого вы «убьёте» и кто ещё пострадает.
| Симптом | Что зависло | Чем лечить |
|---|---|---|
| Окно 1С белое, в заголовке «Не отвечает», у других всё работает | Клиентский процесс на одном ПК | Диспетчер задач или taskkill |
| Окно закрыли, но при входе пишет, что сеанс уже открыт или превышено число лицензий | «Висячий» сеанс на сервере | Консоль кластера или rac |
| Тормозят или не входят все пользователи одной базы | Долгая транзакция или блокировка | Найти сеанс-виновник и завершить его |
Не входят все пользователи всех баз, rphost.exe съел память | Рабочий процесс сервера | Перезапуск процесса или службы агента |
| Файловая база не открывается: «база уже используется» | Чужой процесс держит файл 1Cv8.1CD | Закрыть процесс или открытый файл в общей папке |
Три вопроса, которые экономят время:
- 🖥️ Зависло у одного или у всех? Если у одного — сервер не трогайте вообще.
- ⏳ Процесс думает или стоит? Загрузка процессора 15–25% на одном ядре и растущая память — 1С что-то считает (закрытие месяца , пересчёт итогов). Подождите 10–15 минут, прежде чем рубить.
- 💾 Идёт ли запись? Если пользователь проводил пакет документов или загружал данные, принудительное завершение откатит незавершённую транзакцию. Данные целы, но работу придётся повторить.
Нельзя прерывать обновление конфигурации, загрузку .dt, реструктуризацию и тестирование и исправление базы. Обрыв на середине может оставить базу в нерабочем состоянии. Если Конфигуратор завис именно на этих операциях — сначала убедитесь, что есть свежая резервная копия.
Снять зависший клиент 1С в Диспетчере задач и через taskkill
Это первый и самый безопасный уровень. Вы завершаете программу только у себя, сервер и другие пользователи не задеты.
Через Диспетчер задач
- Нажмите
Ctrl+Shift+Esc. - Откройте вкладку «Подробности» — там видны имена файлов процессов.
- Найдите нужный процесс (таблица ниже).
- Правой кнопкой → «Снять задачу». Если процесс не уходит — «Завершить дерево процессов».
| Процесс | Что это |
|---|---|
1cv8c.exe | Тонкий клиент |
1cv8.exe | Толстый клиент и Конфигуратор |
1cestart.exe | Окно выбора базы (стартер) |
ragent.exe, rmngr.exe, rphost.exe | Серверные процессы — на рабочем ПК их быть не должно |
На терминальном сервере откройте вкладку «Пользователи», разверните нужного сотрудника и завершите только его процесс 1С. Не трогайте чужие строки.
Через командную строку
Когда Диспетчер задач сам не отвечает или нужно снять сразу несколько окон, удобнее taskkill. Запустите cmd от имени администратора.
:: посмотреть, какие процессы 1С запущены
tasklist /FI "IMAGENAME eq 1cv8*"
:: завершить все тонкие клиенты на этом компьютере
taskkill /IM 1cv8c.exe /F
:: завершить процесс по номеру PID из tasklist
taskkill /PID 12345 /F /T
Ключ /F — принудительно, /T — вместе с дочерними процессами.
На терминальном сервере снимайте процессы только конкретного пользователя, иначе выбьете всех:
tasklist /V /FI "IMAGENAME eq 1cv8c.exe"
taskkill /F /IM 1cv8c.exe /FI "USERNAME eq ivanov"
То же в PowerShell:
Get-Process 1cv8* | Select-Object Id, ProcessName, StartTime
Stop-Process -Name 1cv8c -Force
После снятия клиента в клиент-серверной базе сеанс на сервере обычно закрывается сам через несколько минут. Если пользователь сразу пытается войти и получает отказ по лицензии — переходите к следующему разделу.
Файловая база: кто держит файл
В файловом варианте серверных сеансов нет, базу держит процесс 1С на том компьютере, где он запущен. Если тот ПК выключен или недоступен, а база лежит в общей папке, откройте на компьютере с папкой оснастку Управление компьютером → Общие папки → Открытые файлы. Найдите 1Cv8.1CD и закройте открытый файл.
Из командной строки то же самое:
net file
net file 57 /close
Здесь 57 — идентификатор из списка net file. Закрывайте файл, только если уверены, что владелец сеанса не работает
прямо сейчас — его незаписанные изменения пропадут.
Завершить сеанс в консоли администрирования серверов 1С
В клиент-серверной базе «зависший пользователь» — это чаще всего сеанс, который остался на сервере после обрыва связи или аварийного закрытия клиента. Он занимает лицензию и может держать блокировки.
Пошагово
- Запустите «Администрирование серверов 1С Предприятия» на сервере или на ПК, где установлены компоненты администрирования.
- Разверните:
Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → кластер → Информационные базы → нужная база → Сеансы. - Найдите сеанс по пользователю, компьютеру и времени начала.
- Правой кнопкой → «Удалить». Подтвердите.
Если консоль просит логин и пароль — это администратор кластера или администратор информационной базы, а не пользователь Windows.
Как найти сеанс-виновник при блокировках
Когда тормозят все, ищите сеанс с долгим текущим вызовом. В списке сеансов есть колонки со временем текущего вызова и временем, проведённым в СУБД. Сеанс, у которого эти значения растут минутами, — главный кандидат.
Перед удалением спросите пользователя, что он делает. Иногда это бухгалтер, который закрывает месяц, и завершение откатит 40 минут работы.
Если консоль не открывается
Типичная причина — не зарегистрирована библиотека консоли после установки или обновления платформы. Зарегистрируйте её от имени администратора, указав папку своей версии:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
Номер версии в пути замените на установленный у вас. Разрядность radmin.dll должна совпадать с разрядностью консоли.
Принудительное завершение сеанса 1С командой rac
Утилита rac удобна, когда консоли нет под рукой, сервер на Linux или завершение нужно встроить в скрипт. Она лежит в папке bin платформы и работает через сервер администрирования ras.
Шаг 1. Запустить ras
Если ras не установлен службой, запустите его вручную на сервере 1С:
ras cluster --port=1545 localhost:1540
Здесь 1540 — порт агента сервера, 1545 — порт, на котором ras будет ждать rac.
Шаг 2. Узнать идентификатор кластера
rac localhost:1545 cluster list
В выводе нужна строка cluster — это UUID кластера.
Шаг 3. Найти сеанс
rac localhost:1545 session list --cluster=<UUID кластера>
Для каждого сеанса выводятся session, user-name, host, app-id и время начала. Ищите нужного пользователя.
Если на кластере задан администратор, добавляйте к каждой команде --cluster-user=<имя> --cluster-pwd=<пароль>.
Шаг 4. Завершить сеанс
rac localhost:1545 session terminate --cluster=<UUID кластера> --session=<UUID сеанса>
Сеанс исчезает из списка, лицензия освобождается. Полный перечень команд и параметров для вашей версии выводит rac help и rac session help.
Перезапуск рабочего процесса и службы агента сервера 1С
Это крайняя мера. Она нужна, когда сеансы не удаляются, консоль не отвечает, а rphost.exe занял всю память или процессор.
Остановка службы или процесса rphost обрывает сеансы ВСЕХ пользователей на этом сервере, во всех базах. Делайте это в обед, вечером или после общего предупреждения. Незаписанные данные у людей пропадут.
Вариант 1. Завершить один rphost
Если рабочих процессов несколько, можно снять только проблемный. В консоли узел Рабочие процессы показывает PID, память и число соединений каждого процесса. Найдите PID процесса с аномальной памятью и завершите его:
taskkill /PID 4820 /F
Менеджер кластера запустит новый рабочий процесс автоматически. Пострадают только сеансы, которые обслуживал снятый rphost.
Вариант 2. Перезапустить службу агента
В Windows служба называется по шаблону «Агент сервера 1С:Предприятия 8.3 (x86-64)», внутреннее имя зависит от способа установки. Узнайте точное имя:
Get-Service *1C*
Затем перезапустите:
Restart-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)" -Force
Если служба зависла в состоянии «Остановка» больше минуты, завершите ragent.exe, rmngr.exe и все rphost.exe через taskkill /F, потом запустите службу заново.
В Linux найдите юнит и перезапустите его:
systemctl list-units --type=service | grep -i 1c
sudo systemctl restart <имя юнита>
Вариант 3. Очистить кэш сеансов
Если после перезапуска «призрачные» сеансы снова появляются, а консоль падает при открытии списка сеансов, помогает очистка сеансовых данных:
- Остановите службу агента сервера.
- Откройте каталог кластера: по умолчанию
C:\Program Files\1cv8\srvinfo\reg_1541\. - Перенесите в отдельную папку подкаталоги, имя которых начинается с
snccntx. - Запустите службу.
Остальное содержимое reg_1541 не трогайте. Не удаляйте файлы 1CV8Clst.lst и 1CV8Reg.lst — в них список баз и настройки кластера, без них базы придётся регистрировать заново.
| Способ | Когда | Кого заденет |
|---|---|---|
Снять 1cv8c.exe | Окно не отвечает у одного человека | Только его |
Удалить сеанс в консоли или rac | Висит сеанс, занята лицензия, блокировка | Только владельца сеанса |
Завершить один rphost | Процесс съел память, остальные в норме | Сеансы этого процесса |
| Перезапустить службу агента | Не отвечает весь сервер | Всех пользователей всех баз |
Очистить snccntx | Сеансы-призраки после перезапуска | Всех, нужна остановка службы |
Почему 1С зависает и как сделать так, чтобы не пришлось «убивать»
Принудительное завершение снимает симптом. Если приходится делать это раз в неделю, ищите причину.
Частые причины
- 🔒 Блокировки. Один пользователь проводит документы за месяц, остальные ждут. Помогает перенос тяжёлых операций на вечер.
- 🧠 Утечка памяти в
rphost. Процесс растёт до нескольких гигабайт и перестаёт отвечать. - 🌐 Обрывы сети и VPN. Клиент отваливается, сеанс остаётся на сервере и держит лицензию.
- 📦 Расширения и внешние обработки с бесконечным циклом или тяжёлым запросом.
- 💽 Нехватка места на диске с базой, каталогом
srvinfoили временными файлами СУБД. - 🦠 Антивирус, который проверяет файлы базы и каталог кластера на лету.
Что настроить
- Перезапуск рабочих процессов. В свойствах кластера задайте интервал перезапуска и допустимый объём памяти рабочих процессов. Кластер будет плавно заменять «распухший»
rphostновым, не обрывая сеансы. - Исключения антивируса. Добавьте каталог
srvinfo, папку с файловыми базами и процессыrphost.exe,rmngr.exe,ragent.exe. - Регламентное окно. Закрытие месяца, обновления и пересчёт итогов — после рабочего дня.
- Технологический журнал. Если зависания повторяются, включите сбор событий о длительных вызовах и блокировках и разберите, какой код их даёт.
- Блокировка перед обслуживанием. Перед обновлением выгоняйте пользователей штатно — через блокировку сеансов в консоли или в разделе
Администрирование → Обслуживаниетиповой конфигурации. Тогда людям приходит предупреждение, а не обрыв.
Сохранятся ли данные после принудительного завершения 1С?
Почему после снятия задачи 1С пишет, что лицензий не хватает?
rac session terminate, либо подождите, пока сервер закроет его сам.Можно ли завершить сеанс другого пользователя без прав администратора?
rac нужны права администратора кластера, а для снятия чужого процесса на терминальном сервере — права администратора Windows.Чем удаление сеанса отличается от перезапуска службы?
Как завершить Конфигуратор, который завис при обновлении?
1cv8.exe, только если процесс полчаса не грузит ни процессор, ни диск, и сразу готовьтесь восстанавливать базу из резервной копии.