Администрирование · 10 мин
Как принудительно завершить процесс в 1С
Как принудительно завершить зависший процесс 1С через диспетчер задач, консоль кластера серверов, командную строку и PowerShell. Проверка результата и риски.
Зависшее приложение 1С — типичная ситуация: окно не отвечает, сеанс заблокировал документ или регистр, а закрыть программу обычным способом не получается. Принудительное завершение процесса — рабочий инструмент, но применять его нужно осознанно: при нештатном завершении несохранённые данные теряются, а в клиент-серверном варианте могут остаться «висячие» сеансы и блокировки.
Способ завершения зависит от режима работы. В файловом варианте достаточно снять процесс на компьютере пользователя. В клиент-серверном варианте правильнее действовать через консоль кластера серверов 1С — тогда завершение происходит корректно на уровне платформы, а не грубым снятием процесса операционной системы.
Перед принудительным завершением убедитесь, что программа действительно зависла, а не выполняет длительную операцию: проведение большого документа, групповое перепроведение, формирование тяжёлого отчёта могут занимать десятки минут и при этом выглядеть как «зависание». Признак настоящего зависания — отсутствие реакции на действия долгое время при нулевой или аномальной загрузке процессора и диска.
Как определить, какой процесс 1С завершать
Платформа 1С использует несколько исполняемых файлов, и завершение «не того» процесса может затронуть работу других пользователей. Поэтому сначала нужно понять, что именно запущено.
Основные процессы, которые вы увидите в диспетчере задач:
- 1cv8.exe — толстый клиент, приложение пользователя;
- 1cv8c.exe — тонкий клиент;
- 1cv8s.exe — процесс, связанный с отдельными режимами запуска клиента;
- ragent.exe — агент сервера 1С (системный процесс кластера);
- rphost.exe — рабочие процессы кластера, обслуживающие сеансы пользователей;
- rmngr.exe — менеджер кластера.
На компьютере пользователя завершают только клиентские процессы — 1cv8.exe и 1cv8c.exe. Процессы ragent, rphost и rmngr существуют на сервере, и снимать их через диспетчер задач стоит лишь в крайнем случае: один rphost может обслуживать десятки сеансов, и его завершение «уронит» работу всех этих пользователей.
Завершение через диспетчер задач Windows
Самый доступный способ для файлового варианта и для локального клиента — диспетчер задач. Он подходит, когда окно 1С не реагирует на закрытие крестиком и через меню.
- 1Нажмите Ctrl+Shift+Esc, чтобы открыть диспетчер задач.
- 2На вкладке «Процессы» найдите строку «1С:Предприятие» или процесс 1cv8.exe / 1cv8c.exe.
- 3Если процессов несколько, раскройте строку и убедитесь, что завершаете нужное окно (по заголовку информационной базы).
- 4Щёлкните правой кнопкой и выберите «Снять задачу».
- 5Подождите 10–30 секунд: процесс может завершаться с задержкой.
Если на вкладке «Процессы» нужный процесс не виден, перейдите на вкладку «Подробности» и найдите 1cv8.exe или 1cv8c.exe в списке. Там же можно добавить столбец «Командная строка» (правый клик по заголовкам колонок), чтобы по параметрам запуска отличить один экземпляр 1С от другого — это полезно, когда открыто несколько баз одновременно.
После завершения проверьте, что процесс исчез из списка, и запустите 1С заново. Если при входе в файловую базу появляется сообщение, что база заблокирована или используется, — скорее всего, остался незавершённый процесс либо устаревший блокировочный файл.
Завершение через командную строку и PowerShell
Когда графический интерфейс недоступен (например, работа по RDP с ограничениями) или нужно завершить процессы массово, удобнее командная строка. Команды выполняются от имени администратора.
Завершить все процессы толстого клиента можно командой taskkill:
taskkill /F /IM 1cv8.exeКлюч /F означает принудительное завершение, /IM — выбор по имени образа. Чтобы завершить конкретный процесс по его идентификатору (PID узнают в диспетчере задач на вкладке «Подробности»):
taskkill /F /PID 12345В PowerShell аналогичную задачу решает командлет Stop-Process:
Get-Process 1cv8* | Stop-Process -ForceТакая команда завершит все процессы, имя которых начинается с 1cv8, — будьте осторожны, если на машине работают несколько пользователей или запущены разные базы. Для точечного завершения сначала выведите список с идентификаторами: Get-Process 1cv8*, затем завершайте по Id.
Завершение сеанса через консоль кластера серверов 1С
В клиент-серверном варианте корректный способ «убить» зависшее подключение — удалить сеанс в консоли администрирования серверов 1С. Платформа при этом штатно разрывает соединение и снимает связанные блокировки.
Порядок действий: откройте оснастку «Администрирование серверов 1С:Предприятия», разверните нужный кластер, перейдите в ветку «Сеансы». Найдите сеанс проблемного пользователя — по имени пользователя, базе и времени последней активности. Щёлкните по нему правой кнопкой и выберите «Удалить». Сеанс завершится в течение нескольких секунд, а приложение пользователя получит сообщение о разрыве соединения.
Обратите внимание на различие «Сеансы» и «Соединения»: соединение — это технический канал, сеанс — логическая сущность пользователя. Удалять следует именно сеанс. Если зависший сеанс не удаляется (остаётся в списке после команды), это признак проблем на уровне рабочего процесса — тогда уже рассматривают перезапуск службы агента сервера 1С вне рабочего времени.
Сравнение вариантов
Штатный способ для клиент-серверного режима. Корректно снимает блокировки. Требует прав администратора кластера.
Подходит для файлового варианта и локального клиента. Быстро, но аварийно: блокировки и временные файлы могут остаться.
Крайняя мера при массовых зависаниях. Завершает все сеансы кластера, применять только вне рабочего времени.
Последствия и восстановление после аварийного завершения
При принудительном завершении клиента в файловом варианте рядом с файлом базы может остаться служебный файл блокировки 1Cv8.1CL. Если после повторного запуска программа сообщает, что база уже используется, убедитесь, что процессов 1С не осталось, и удалите этот файл вручную. Делать это можно только при гарантии, что базу никто не открыл.
Несохранённые данные — открытые незаписанные документы, введённые строки — после принудительного завершения восстановить нельзя. Записанные в базу данные при этом не повреждаются: механизм транзакций платформы откатывает незавершённые операции.
Если аварийные завершения происходят регулярно или база после них ведёт себя странно (ошибки при открытии, пропавшие записи), выполните тестирование и исправление информационной базы через конфигуратор. Предварительно сделайте резервную копию — процедура исправления в ряде режимов изменяет данные безвозвратно.
Как проверить результат
1cv8.exe / 1cv8c.exe отсутствуют в диспетчере задач
Процесс остался или появился снова без запуска
База открывается без сообщений о блокировке
Ошибка «информационная база заблокирована»
Зависший сеанс отсутствует в списке сеансов
Сеанс висит и не удаляется
1Cv8.1CL отсутствует при закрытой базе
Файл остался, хотя все процессы завершены
Типичные ошибки и как их избежать
Отдельная ошибка — использовать принудительное завершение как способ «снять блокировку объекта». Если документ заблокирован другим сеансом, правильный путь — найти владельца блокировки (в клиент-серверном варианте — через консоль кластера) и завершить именно его сеанс, а не перезапускать всё подряд.
Частые вопросы
Завершаю процесс, а он появляется снова. Что делать?
Проверьте, не запущен ли автозапуск 1С через планировщик задач, скрипты обновления или фоновые задания агента. Также убедитесь, что вы завершаете процесс, а не только закрываете окно: в диспетчере задач смотрите вкладку «Подробности» и завершайте по PID.
Чем отличается «Снять задачу» от «Завершить дерево процессов»?
«Снять задачу» завершает только выбранный процесс. «Завершить дерево» снимает процесс вместе со всеми порождёнными им дочерними процессами. Для клиента 1С обычно достаточно первого варианта; дерево завершают, если клиент породил зависшие вспомогательные процессы.
Потеряются ли проведённые документы при принудительном завершении?
Нет. Записанные и проведённые документы хранятся в базе и не пострадают. Теряется только то, что было введено в открытые формы, но не записано. Незавершённые транзакции платформа откатывает автоматически.
Пользователь отключился, а сеанс в консоли кластера остался. Это нормально?
Кратковременно — да: кластер некоторое время удерживает «спящие» сеансы. Если сеанс висит часами и держит блокировки, удалите его вручную через консоль. Систематическое накопление таких сеансов — повод проверить настройки кластера и версию платформы.
Можно ли завершить процесс 1С на терминальном сервере, не затронув других пользователей?
Да. В диспетчере задач на вкладке «Пользователи» раскройте нужного пользователя и завершите только его процесс 1С. Не используйте taskkill по имени образа без фильтра по пользователю — такая команда снимет клиенты всех сеансов на сервере.
Что делать, если 1С зависает регулярно в одном и том же месте?
Принудительное завершение здесь лишь симптоматическое средство. Проверьте технологический журнал, загрузку сервера СУБД, наличие взаимоблокировок и актуальность версии платформы. Повторяющееся зависание на конкретной операции — задача для администратора или разработчика, а не для регулярного «снятия задачи».
Что важно запомнить
В файловом варианте завершайте клиентский процесс через диспетчер задач или taskkill, в клиент-серверном — удаляйте сеанс в консоли кластера. Процессы сервера 1С снимайте только в крайнем случае. После аварийного завершения проверьте остаточные процессы и файл блокировки, а при регулярных зависаниях ищите причину, а не повторяйте завершение.