1С не отвечает: снимаем процесс, сеанс и чистим кэш

· 10 мин

Содержание

Зависшую 1С закрывают в три хода: снимают процесс 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) в диспетчере задач, затем, если база серверная, завершают оставшийся сеанс в консоли кластера, и только после этого запускают программу заново. Если зависания повторяются, очищают кэш клиента.

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

1. Зависла 1С или просто долго считает

Прежде чем убивать процесс, убедитесь, что программа действительно стоит. Тяжёлые операции честно «думают» по 10–40 минут, и прерванная на середине обработка обойдётся дороже ожидания.

Признаки того, что 1С работает, хотя окно не реагирует:

  • 🔄 в диспетчере задач у процесса 1cv8c.exe или 1cv8.exe меняется загрузка ЦП и объём памяти;
  • 💽 на вкладке «Производительность» видна активность диска или сети (для серверной базы — сетевой трафик);
  • ⏳ запущена заведомо долгая операция: закрытие месяца, перепроведение за год, свёртка базы, загрузка большого обмена, тестирование и исправление.

Признаки настоящего зависания:

  • 🧊 ЦП у процесса 0% или, наоборот, ровно одно ядро загружено на 100% больше 15–20 минут без изменений памяти;
  • 🔒 окно не перерисовывается, а Windows предлагает «Закрыть программу» или «Подождать»;
  • ❗ после закрытия окна процесс остаётся в списке и висит часами.

Не прерывайте обновление конфигурации базы данных, загрузку .dt и тестирование с исправлением. Аварийный обрыв на этих операциях способен оставить базу в нерабочем состоянии. Здесь ждите до конца, а если процесс точно умер — готовьте восстановление из резервной копии.

Для обычных операций правило простое: подождали 15–20 минут, ЦП и память не меняются — закрываем.

Что именно у вас зависло?

2. Закрываем зависшую 1С через диспетчер задач Windows

Самый быстрый способ, доступный любому пользователю без прав администратора, если процесс запущен под его учётной записью.

  1. Нажмите Ctrl + Shift + Esc — откроется диспетчер задач.
  2. Если видно только окно со списком программ, нажмите «Подробнее».
  3. Перейдите на вкладку «Подробности»: на ней показаны имена исполняемых файлов.
  4. Найдите процесс по таблице ниже, выделите его и нажмите «Снять задачу».
  5. Подтвердите действие и подождите 5–10 секунд, пока процесс исчезнет из списка.
ПроцессЧто этоМожно снимать
1cv8c.exeТонкий клиент — обычная работа пользователяДа
1cv8.exeТолстый клиент или КонфигураторДа, кроме обновления структуры БД
1cestart.exeОкно выбора базы (стартер)Да
ragent.exe, rmngr.exe, rphost.exeПроцессы сервера 1СНет, это не клиент (см. раздел 4)

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

Что теряется при снятии задачи: несохранённые изменения в открытых формах. Всё, что успело записаться в базу (проведённые документы, записанные справочники), остаётся. Транзакция, которая выполнялась в момент обрыва, откатывается целиком, частично записанных документов не бывает.

3. Принудительная остановка 1С из командной строки и PowerShell

Командная строка выручает, когда диспетчер задач сам подвисает, нужно закрыть много процессов разом или работаете вы удалённо.

Найти процессы 1С

tasklist /FI "IMAGENAME eq 1cv8*"

Команда выведет все процессы клиента 1С с их PID и объёмом памяти. Процесс-«тяжеловес» с гигабайтами памяти обычно и есть зависший.

Закрыть конкретный процесс или все сразу

:: один процесс по номеру PID
taskkill /PID 5480 /F

:: все тонкие клиенты на этом компьютере
taskkill /IM 1cv8c.exe /F

:: все толстые клиенты и Конфигуратор
taskkill /IM 1cv8.exe /F

Ключ /F означает принудительное завершение, без него зависшая программа просто проигнорирует просьбу закрыться. Ключ /T дополнительно снимает дочерние процессы.

Терминальный сервер: только свои процессы

На сервере RDP команда taskkill /IM 1cv8c.exe /F от имени администратора закроет 1С у всех пользователей сразу. Перед запуском такой команды предупредите людей: у всех оборвётся работа и пропадут несохранённые формы. Чтобы задеть только себя, добавьте фильтр:

taskkill /IM 1cv8c.exe /FI "USERNAME eq %USERNAME%" /F

Вариант для PowerShell

# посмотреть процессы 1С
Get-Process 1cv8* | Select-Object Id, ProcessName, @{n='MB';e={[int]($_.WorkingSet64/1MB)}}

# закрыть один по Id
Stop-Process -Id 5480 -Force

💡 Удобно положить строку taskkill /IM 1cv8c.exe /FI "USERNAME eq %USERNAME%" /F в файл kill1c.bat на рабочий стол пользователя. Бухгалтер закроет свою зависшую 1С двойным щелчком, не вызывая администратора.

4. Как завершить зависший сеанс 1С на сервере

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

Через консоль администрирования серверов 1С

  1. Запустите «Администрирование серверов 1С Предприятия» (оснастка устанавливается вместе с платформой).
  2. Раскройте Центральные серверы 1С:Предприятия 8.3 → имя сервера → Кластеры → Локальный кластер → Информационные базы → нужная база → Сеансы.
  3. В списке сеансов найдите строку по колонкам «Пользователь», «Компьютер», «Приложение» (например, «Тонкий клиент») и «Начало работы».
  4. Правой кнопкой → «Удалить». Сеанс завершится, пользователь получит сообщение о разрыве соединения.

Если консоль не открывается и пишет про ошибку загрузки компонента, перерегистрируйте radmin.dll той версии платформы, что установлена на сервере, от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"

Номер версии в пути подставьте свой — он должен совпадать с версией сервера.

Через утилиту rac (без графической консоли)

Утилита rac лежит в каталоге bin платформы и работает через службу RAS (порт по умолчанию 1545). Служба RAS должна быть запущена на сервере.

:: идентификатор кластера
rac cluster list

:: список сеансов с пользователями и компьютерами
rac session list --cluster=<id-кластера>

:: завершить конкретный сеанс
rac session terminate --cluster=<id-кластера> --session=<id-сеанса>

Если для кластера задан администратор, к командам добавляют --cluster-user и --cluster-pwd. Остальные параметры смотрите в справке rac help session.

Из самой 1С, без доступа к серверу

Пользователь с правами администратора базы может посмотреть, кто сейчас в ней работает: Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет в меню, включите его в Сервис и настройки → Параметры → Отображать команду «Все функции». В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) в форме «Активные пользователи» есть команда завершения выбранного сеанса; для этого программа попросит пароль администратора кластера, если он задан.

Когда сеанс не удаляется

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

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

5. Если зависла файловая база в сети

В файловом варианте сервера 1С нет, и сеансы живут прямо в процессах 1cv8c.exe на компьютерах пользователей. Поэтому «висящего» сеанса без процесса здесь не бывает: если коллега не может войти монопольно, у кого-то на компьютере до сих пор запущена 1С.

Что делать:

  1. В базе откройте «Активные пользователи» (путь из раздела 4) — увидите имя компьютера, на котором открыт сеанс.
  2. Закройте процесс 1С на том компьютере способом из раздела 2 или удалённо:
taskkill /S PC-BUH02 /IM 1cv8c.exe /F

Для удалённого вызова нужны права администратора на целевом компьютере.

  1. Если имя компьютера неизвестно, посмотрите открытые файлы на компьютере, где лежит папка базы: Управление компьютером → Общие папки → Открытые файлы. Там видно, кто держит файл 1Cv8.1CD. Закрытие файла здесь — тот же обрыв работы пользователя, поэтому сначала свяжитесь с ним.

Не удаляйте вручную файлы и папки из каталога файловой базы, в том числе журнал регистрации 1Cv8Log, чтобы «снять блокировку». Обрыв записи в файловую базу иногда повреждает её — после аварийного закрытия во время проведения документов сделайте копию папки и проверьте базу тестированием в Конфигураторе.

6. Очистка кэша 1С после аварийного закрытия

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

Быстрый способ — параметр запуска

В окне выбора базы выделите базу → «Изменить» → пройдите до последней страницы → в поле «Дополнительные параметры запуска» впишите:

/ClearCache

Запустите базу один раз и удалите параметр, иначе кэш будет сбрасываться при каждом старте и вход станет медленнее.

Ручной способ — удалить папки кэша

  1. Закройте все окна 1С на компьютере и проверьте, что в диспетчере задач нет 1cv8c.exe и 1cv8.exe.
  2. Откройте по очереди папки %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 (адрес вставляется прямо в строку проводника).
  3. Удалите внутри папки с именами вида a1b2c3d4-... — длинные идентификаторы. Каждая соответствует одной базе.
  4. Запустите 1С: первый вход займёт чуть дольше, кэш соберётся заново.

Не трогайте файл ibases.v8i в папке %APPDATA%\1C\1CEStart — это список баз в окне запуска. Удалите его, и пользователю придётся добавлять базы заново.

Кэш на сервере 1С

Если зависают все пользователи одной серверной базы сразу, а не один компьютер, может помочь очистка серверного кэша сеансовых данных: папки snccntx* внутри каталога кластера (по умолчанию srvinfo\reg_1541). Делается это только при остановленной службе «Агент сервера 1С:Предприятия 8.3».

Остановка службы сервера 1С отключает всех пользователей всех баз этого кластера. Выполняйте её вечером или в выходной, предупредив людей, и ничего, кроме папок snccntx*, в каталоге кластера не удаляйте.

7. Как не закрывать 1С принудительно: профилактика и таймауты

Большая часть ежедневных зависаний устраняется настройками, а не командой taskkill.

Таймауты пассивных сеансов

В свойствах информационной базы в консоли кластера заданы два параметра:

  • ⏲ «Время засыпания пассивного сеанса» — через сколько секунд сеанс без связи с клиентом засыпает и освобождает лицензию;
  • 🛑 «Время завершения спящего сеанса» — через сколько секунд уснувший сеанс удаляется окончательно.

Для бухгалтерии разумны значения порядка 300 секунд на засыпание и 3600 на завершение. Тогда сеанс человека, у которого «упал» компьютер, сам исчезнет через час, без вызова администратора.

Настройки рабочих процессов

В свойствах кластера задают интервал перезапуска рабочих процессов и допустимый объём памяти. Перезапуск rphost.exe раз в сутки ночью (например, интервал 86400 секунд) снимает накопившиеся утечки памяти, из-за которых к вечеру 1С «тормозит» у всех.

Привычки пользователей

Причина зависанияЧто помогает
Долгий отчёт за несколько летСтавить отборы и период, формировать отчёт по частям
Закрытие месяца в рабочее времяЗапускать вечером, когда база свободна
Устаревший релиз платформыОбновить платформу до номера не ниже рекомендованного для релиза конфигурации
Антивирус проверяет файлы базыДобавить папку базы и каталог кластера в исключения
Мало памяти на терминальном сервереОграничить число одновременных сеансов или добавить ОЗУ

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

Частые вопросы

Пропадут ли проведённые документы, если снять 1С в диспетчере задач?
Нет. Записанные и проведённые документы уже в базе. Теряются только несохранённые изменения в открытых окнах, а незавершённая транзакция откатывается полностью.
Почему после закрытия окна 1С пишет, что лицензии закончились?
На сервере остался сеанс закрытого клиента и держит лицензию. Удалите его в консоли кластера или подождите, пока сработает таймаут пассивного сеанса.
Можно ли закрыть 1С у другого пользователя без доступа к его компьютеру?
В серверной базе — да, через консоль кластера, rac или «Активные пользователи» с правами администратора. В файловой нужна команда taskkill с ключом /S и права администратора на его компьютере.
Что делать, если 1С зависает сразу при запуске?
Запустите базу с параметром /ClearCache. Не помогло — удалите папки кэша вручную и проверьте, что версия платформы подходит для релиза конфигурации.
Как закрыть 1С на Mac или Linux?
В Linux — команда pkill 1cv8c или kill -9 с номером процесса. На macOS — «Завершить принудительно» в меню Apple или сочетание Cmd + Option + Esc.