1С не отвечает на удалённом рабочем столе: снимаем зависший процесс и сеанс

· 10 мин

Содержание

Если 1С зависла на удаленке, нажмите Ctrl+Alt+End (это аналог Ctrl+Alt+Del внутри RDP), откройте «Диспетчер задач», на вкладке «Подробности» найдите свой процесс 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) и нажмите «Снять задачу». Обычный пользователь закроет так только свои процессы. Чужой процесс или зависший целиком сеанс снимает администратор сервера — командой taskkill, через query session и logoff или в консоли кластера 1С.

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

Зависла или долго думает: проверка перед закрытием

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

Признаки, по которым это видно:

  • 🕐 заголовок окна с припиской «Не отвечает» держится дольше 3–5 минут;
  • 🖱️ окно не перерисовывается, курсор не меняется при наведении на кнопки;
  • 📊 в Диспетчере задач процесс 1С стоит на 0% процессора и память не меняется — значит, он ничего не считает;
  • 🔁 процесс занимает одно ядро на 100% много минут подряд, хотя вы не запускали тяжёлых операций.

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

Попробуйте сначала мягкий путь: щёлкните по окну 1С и нажмите Alt+F4. Если программа ждёт ответа на скрытый диалог (например, окно с вопросом ушло за другое окно), она закроется штатно или покажет этот вопрос.

Ещё одна проверка — переключитесь на другие программы внутри удалённого стола. Если они работают, а не отвечает только 1С, проблема в процессе. Если не отвечает всё, включая меню «Пуск», завис сеанс RDP целиком или у сервера кончились ресурсы. Об этом — в разделе про команды администратора.

Как закрыть зависшую 1С через Диспетчер задач на удалённом столе

Обычное сочетание Ctrl+Alt+Del перехватывает ваш собственный компьютер, а не удалённый. Внутри сеанса RDP работают другие клавиши.

СочетаниеЧто откроетсяКогда сработает
Ctrl+Alt+Endэкран безопасности удалённого сервера, оттуда «Диспетчер задач»окно RDP развёрнуто или активно
Ctrl+Shift+Escсразу «Диспетчер задач» удалённого сервераокно RDP на весь экран и в фокусе
правый щелчок по панели задач удалённого столапункт «Диспетчер задач»панель задач сервера видна

Порядок действий для пользователя

  1. Нажмите Ctrl+Alt+End и выберите «Диспетчер задач».
  2. Если окно маленькое, нажмите «Подробнее» внизу.
  3. Перейдите на вкладку «Подробности».
  4. Щёлкните по заголовку столбца «Имя», чтобы отсортировать список, и найдите 1cv8c.exe или 1cv8.exe.
  5. Проверьте столбец «Имя пользователя»: процесс должен быть ваш.
  6. Выделите процесс и нажмите «Снять задачу», затем подтвердите.
  7. Запустите 1С заново из ярлыка или через 1cestart.exe.

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

На терминальном сервере вы видите процессы других людей только при правах администратора. Если у вас они есть, проверяйте столбец «Имя пользователя» перед каждым снятием задачи: закрыв чужой 1cv8c.exe, вы оборвёте коллеге несохранённую работу.

Что делать администратору в том же Диспетчере

На Windows Server 2016 и новее у администратора есть вкладка «Пользователи». Разверните строку нужного человека — внутри будут все его программы, в том числе 1С. Щелчок правой кнопкой по процессу даёт «Снять задачу». Щелчок по самой строке пользователя даёт «Отключить» (сеанс остаётся, программы продолжают работать) и «Выйти» (сеанс закрывается вместе со всеми программами).

Команда taskkill: закрыть 1С из командной строки

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

Сначала посмотрите, какие процессы 1С запущены и кому они принадлежат:

tasklist /V /FI "IMAGENAME eq 1cv8c.exe"
tasklist /V /FI "IMAGENAME eq 1cv8.exe"

Ключ /V добавляет столбцы с именем пользователя, номером сеанса и состоянием окна. Строка с состоянием «Не отвечает» — ваш кандидат.

Закрыть конкретный процесс по его номеру (PID берите из вывода tasklist):

taskkill /PID 5124 /F

Закрыть все тонкие клиенты одного пользователя:

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

Закрыть процессы 1С пользователя на другом сервере, не заходя на него по RDP:

taskkill /S TS01 /F /IM 1cv8c.exe /FI "USERNAME eq ivanova"

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

Команда taskkill /F /IM 1cv8c.exe без фильтра по пользователю закроет 1С у всех, кто работает на сервере. Не запускайте её днём без фильтра USERNAME или SESSION.

Готовый ярлык для пользователей

Если 1С на терминальном сервере зависает часто, положите пользователям на рабочий стол файл zakryt-1s.bat. Он закрывает процессы 1С только в текущем сеансе того, кто его запустил, и права администратора ему не нужны:

@echo off
taskkill /F /IM 1cv8c.exe /FI "USERNAME eq %USERNAME%"
taskkill /F /IM 1cv8.exe /FI "USERNAME eq %USERNAME%"
pause

Пользователь без прав администратора в любом случае не сможет закрыть чужой процесс — Windows вернёт отказ в доступе. Поэтому такой ярлык безопасен для общего сервера.

Сеанс RDP завис целиком: query session, logoff и reset

Бывает, что не отвечает весь удалённый стол: чёрный экран, «Пуск» не открывается, Ctrl+Alt+End ничего не даёт. Сначала закройте окно подключения и подключитесь заново. Сеанс на сервере при этом не завершается, и после переподключения он часто «оживает».

Не помогло — сеанс снимает администратор с другого компьютера или из своего сеанса на том же сервере.

Найти номер сеанса

query user /server:TS01
query session /server:TS01

Первая команда показывает пользователей: имя, имя сеанса, ID, состояние («Активно» или «Диск» — отключён) и время простоя. Вторая показывает все сеансы, включая служебные. Нужен столбец ID.

Посмотреть, какие программы запущены в сеансе, можно так:

query process /ID:3 /server:TS01

Завершить сеанс

КомандаЧто делаетПоследствия
logoff 3 /server:TS01штатный выход пользователя из сеанса 3закрываются все его программы, несохранённое теряется
reset session 3 /server:TS01сброс сеанса 3то же, но жёстче; если logoff не сработал
tskill 5124 /server:TS01завершение одного процесса по PIDзакрывается только эта программа

rwinsta — старое короткое имя команды reset session, qwinsta — короткое имя query session. Они работают так же.

logoff и reset session закрывают у человека не только 1С, но и Excel, Word, почту. Предупредите его до команды. Если в сеансе открыт несохранённый файл в другой программе, лучше сначала снять только процесс 1С через taskkill.

Программа закрыта, а сеанс 1С остался: консоль кластера и «Активные пользователи»

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

Клиент-серверная база

Серверный вызов, который выполнялся в момент зависания, может продолжать работать в рабочем процессе rphost.exe. Сеанс исчезнет сам, когда вызов закончится или истечёт таймаут. Ждать не обязательно — сеанс удаляют вручную.

  1. Откройте «Администрирование серверов 1С Предприятия» (консоль кластера).
  2. Разверните кластер → «Информационные базы» → нужная база → «Сеансы».
  3. Найдите сеанс по имени пользователя и компьютеру (для терминала — имя сервера RDP).
  4. Щёлкните правой кнопкой → «Удалить».

То же самое из командной строки через утилиту rac (нужен запущенный сервер администрирования ras):

rac cluster list
rac session list --cluster=<uuid кластера>
rac session terminate --cluster=<uuid кластера> --session=<uuid сеанса>

Если на кластере задан администратор, добавьте параметры с его именем и паролем — список параметров выводит rac help session.

Удаление сеанса прерывает операцию, которая в нём шла, и транзакция откатывается. Не удаляйте сеансы фоновых и регламентных заданий — их видно по названию приложения в списке сеансов.

Файловая база

У файловой базы сервера нет: сеанс живёт, пока жив процесс клиента. Если пользователь не может войти, значит, где-то остался его процесс. Ищите 1cv8c.exe или 1cv8.exe во всех сеансах терминального сервера — часто «потерянная» 1С висит в отключённом сеансе, о котором пользователь забыл.

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

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

Почему 1С виснет на удалённом сервере и как это предотвратить

Снять задачу — полдела. Если зависания повторяются, ищите причину. На терминальных серверах их несколько типовых.

Ресурсы сервера

Каждый тонкий клиент занимает в памяти сотни мегабайт, толстый — заметно больше. На сервере с 20 пользователями и 16 ГБ памяти при открытых браузерах и Excel память кончается, и Windows начинает активно использовать файл подкачки. Окна перестают отвечать у всех сразу.

  • 📈 Откройте вкладку «Производительность» в Диспетчере задач: занятость памяти выше 90% — повод добавить память или разнести людей по серверам.
  • 🧹 Переводите пользователей с толстого клиента на тонкий там, где конфигурация это позволяет.
  • 🔍 Ищите процессы-призраки: сотни мегабайт держат 1cv8c.exe в давно отключённых сеансах.

Отключённые сеансы и лимиты RDP

Пользователь закрывает окно RDP крестиком, а не выходит из системы. Сеанс остаётся, 1С в нём продолжает держать лицензию и память. Через неделю таких сеансов десятки.

Настройте лимиты через групповую политику: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Ограничение сеансов по времени. Там задаются время, через которое отключённый сеанс завершается, и лимит бездействия активного сеанса. Ориентир для бухгалтерии — завершать отключённые сеансы через 2–4 часа.

Не ставьте лимит бездействия активного сеанса слишком коротким. Бухгалтер, который час сверяет акт на бумаге, вернётся к закрытой 1С и потерянному документу.

Принтеры и буфер обмена

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

Кэш клиента и обновления

После обновления конфигурации у части пользователей 1С может зависать на старте или при открытии форм из-за устаревшего кэша. Запустите клиент с параметром /ClearCache или очистите кэш вручную — папки базы в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, когда 1С у пользователя закрыта.

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

Профилактика зависаний 1С на терминальном сервере
Выполнено: 0 / 6

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

Сохранится ли документ, если снять задачу в Диспетчере задач?
Нет. Сохраняется только то, что было записано до зависания. Документ, записанный, но не проведённый, останется в базе черновиком.
Можно ли повредить базу, принудительно закрыв 1С?
Для клиент-серверной базы риск минимален: незавершённая транзакция откатывается на стороне СУБД. Файловая база устойчива к закрытию клиента, но серия аварийных закрытий во время записи — повод сделать резервную копию и проверить базу через тестирование и исправление.
Почему «Снять задачу» выдаёт «Отказано в доступе»?
Процесс принадлежит другому пользователю или Диспетчер задач запущен без прав администратора. Свой процесс обычный пользователь закрыть может; чужой — только администратор.
Чем «Отключить» отличается от «Выйти» на вкладке «Пользователи»?
«Отключить» разрывает связь, но программы в сеансе продолжают работать, и зависшая 1С никуда не денется. «Выйти» закрывает сеанс вместе со всеми программами.
Освободится ли лицензия 1С сразу после закрытия процесса?
В файловой базе — сразу. В клиент-серверной — после того как сервер 1С завершит сеанс; ускорить это можно удалением сеанса в консоли кластера.