1С не отвечает: снимаем процесс, сеанс и чистим кэш
Содержание
Зависшую 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
Самый быстрый способ, доступный любому пользователю без прав администратора, если процесс запущен под его учётной записью.
- Нажмите
Ctrl + Shift + Esc— откроется диспетчер задач. - Если видно только окно со списком программ, нажмите «Подробнее».
- Перейдите на вкладку «Подробности»: на ней показаны имена исполняемых файлов.
- Найдите процесс по таблице ниже, выделите его и нажмите «Снять задачу».
- Подтвердите действие и подождите 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С:Предприятия 8.3 → имя сервера → Кластеры → Локальный кластер → Информационные базы → нужная база → Сеансы. - В списке сеансов найдите строку по колонкам «Пользователь», «Компьютер», «Приложение» (например, «Тонкий клиент») и «Начало работы».
- Правой кнопкой → «Удалить». Сеанс завершится, пользователь получит сообщение о разрыве соединения.
Если консоль не открывается и пишет про ошибку загрузки компонента, перерегистрируйте 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С.
Что делать:
- В базе откройте «Активные пользователи» (путь из раздела 4) — увидите имя компьютера, на котором открыт сеанс.
- Закройте процесс 1С на том компьютере способом из раздела 2 или удалённо:
taskkill /S PC-BUH02 /IM 1cv8c.exe /F
Для удалённого вызова нужны права администратора на целевом компьютере.
- Если имя компьютера неизвестно, посмотрите открытые файлы на компьютере, где лежит папка базы:
Управление компьютером → Общие папки → Открытые файлы. Там видно, кто держит файл1Cv8.1CD. Закрытие файла здесь — тот же обрыв работы пользователя, поэтому сначала свяжитесь с ним.
Не удаляйте вручную файлы и папки из каталога файловой базы, в том числе журнал регистрации 1Cv8Log, чтобы «снять блокировку». Обрыв записи в файловую базу иногда повреждает её — после аварийного закрытия во время проведения документов сделайте копию папки и проверьте базу тестированием в Конфигураторе.
6. Очистка кэша 1С после аварийного закрытия
Платформа хранит на компьютере пользователя кэш метаданных и настроек. После жёсткого закрытия он иногда остаётся битым: 1С запускается и снова зависает на заставке, падает при открытии формы или показывает старый интерфейс.
Быстрый способ — параметр запуска
В окне выбора базы выделите базу → «Изменить» → пройдите до последней страницы → в поле «Дополнительные параметры запуска» впишите:
/ClearCache
Запустите базу один раз и удалите параметр, иначе кэш будет сбрасываться при каждом старте и вход станет медленнее.
Ручной способ — удалить папки кэша
- Закройте все окна 1С на компьютере и проверьте, что в диспетчере задач нет
1cv8c.exeи1cv8.exe. - Откройте по очереди папки
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8(адрес вставляется прямо в строку проводника). - Удалите внутри папки с именами вида
a1b2c3d4-...— длинные идентификаторы. Каждая соответствует одной базе. - Запустите 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С «тормозит» у всех.
Привычки пользователей
| Причина зависания | Что помогает |
|---|---|
| Долгий отчёт за несколько лет | Ставить отборы и период, формировать отчёт по частям |
| Закрытие месяца в рабочее время | Запускать вечером, когда база свободна |
| Устаревший релиз платформы | Обновить платформу до номера не ниже рекомендованного для релиза конфигурации |
| Антивирус проверяет файлы базы | Добавить папку базы и каталог кластера в исключения |
| Мало памяти на терминальном сервере | Ограничить число одновременных сеансов или добавить ОЗУ |
Перед плановыми регламентными работами вместо выгона людей вручную используйте «Блокировку работы пользователей» в конфигурациях на БСП — она предупреждает пользователей и завершает их сеансы к назначенному времени. Найти её проще всего через Все функции → Обработки.