Удаляем намертво зависшие фоновые задания без перезагрузки сервера 1С
Думаю, многим, имеющим дело с клиент-серверным 1С, хотя бы иногда приходилось сталкиваться с зависшими фоновыми заданиями, которые невозможно безболезненно, без перезапуска сервера 1С, прибить ни одним из штатных инструментов (консоль заданий, консоль администрирования серверов 1С и т.п.). В публикации описан один из возможных способов решения проблемы.
- Описание
- Подробнее
Описание
Проблема не новая и время от времени обсуждается на всевозможных 1С-ных форумах. Самое простое и популярное решение — это перезагрузка сервера 1С. К сожалению, этот вариант не всегда допустим или крайне нежелателен. На такой случай существуют более деликатные решения.
Вот один из таких способов в виде краткой пошаговой инструкции:
1. С помощью консоли администрирования серверов 1С ищем проблемное фоновое задание в списке соединений (например, по времени начала его работы, сравнив с временем начала работы регламентированного задания в консоли заданий). Определяем рабочий процесс, в котором находится зависшее соединение.

2. Открываем свойства этого процесса и отмечаем его как неиспользуемый (если используется один единственный процесс, то предварительно необходимо создать новый рабочий процесс — для того, чтобы все активные соединения переподключились к нему). Запоминаем номер PID данного процесса.

3. Дожидаемся когда все текущие соединения переместятся из отключенного процесса в один из используемых. В конечном итоге в нашем процессе должны остаться только проблемные соединения, которые мы и хотим удалить.
4. На компьютере с сервером 1С с помощью диспетчера задач ищем соответствующий ему процесс rphost.exe по PID отключенного рабочего процесса и удаляем его.

5. На всякий случай можно удалить отключенный нами рабочий процесс 1С с пощью админ. консоли и, при необходимости, создать новый.
6. Готово. Можно войти в консоль заданий и проверить работоспособность регламентного задания.
Изменения:
23.04.2014 — внес корректировки согласно замечаниям в комментариям.

