Настройка сервера Linux и Windows
ITShaman - Сайт для АЙТИшников!
"Машины должны работать. Люди должны думать."
(девиз компании IBM)

Неправильно закрываются терминальные сессии после закрытия приложения

Наверное, во всех больших организациях доступ в 1C организовывается с использованием терминального сервера. Такой сервер позволяет в несколько раз повысить быстродействие всей системы и не чувствовать каких-либо “проседаний” при большом количестве единовременных обращений к базе. Операционная система на терминальном сервере обычно 64-битная, так как количество ОЗУ в нем значительно больше чем 4 Гб.

Именно на 64-битной операционной системе Windows Server и наблюдается проблема с зависанием терминальных сессия после их закрытия.

Суть проблемы

Работник бухгалтерии подключается к терминальному серверу через RDP-клиент, открывает в своей сессии 1С-клиент и спокойненько себе работает. В конце рабочего дня он закрывает свой 1С-клиент и выключает компьютер. Придя на работу утром, работник, как обычно, включает свой терминал, а там синий экран. Бодрое, утреннее настроение резко исходит на нет.

В чем же беда?

Решение

Вся проблема кроется в 64-битности вашей операционной системы. Microsoft, чтобы сгладить проблемы совместимости 32- и 64- битных приложений, разрабатывает различные программные прослойки, который помогают правильно выполнять изначально поставленные перед ними задачи. Но, как говорится: “хотели, как лучше, а получилось как всегда.”

Такой проблемной прослойкой является процесс splwow64.exe, который и является корнем всех наших терминальных бед.

splwow64.exe – это программная прослойка, которая позволяет 32-битным приложениям соединиться с 64-битным диспетчером службы очереди печати.

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

Почему-то в операционной системе Windows Server по умолчанию этот процесс не относится к терминальным процессам, а является системным, из-за чего обычному пользователю удаленного рабочего стола завершить его просто не дано.

Чтобы насильно объявить splwow64.exe процессом, который принадлежит к терминальной сессии, нужно отредактировать системный реестр:

  1. открываем реестр на сервере терминалов regedit;
  2. ищем ветку [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs]
  3. создаем параметр splwow64.exe, типа DWORD (битность любая) и присваиваем ему значение 0 (ноль).

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

P.S. Вообще в этой ветке можно размещать любые процессы, которые вы хотите, чтобы обязательно относились к терминальному серверу и закрывались вместе с закрытием соответствующей терминальной сессии.

P.S. Не смотря на то, что компания Apple в последнее время не сильно удивляет своих поклонников какими-то новыми инновационными гаджетами, ей удается удерживать лидера рынка мобильных телефонов по всему миру. Apple цены практически не падают и все их устройства, даже начиная с самых первых, ценятся до сих пор. До этого остальным компаниям мобильного рынка пока далеко.

Статья опубликована 28.03.2013 · Автор статьи: Зюзгин Иван
Статья относится к сервер, Microsoft
Случайные 7 статей:
  1. Увеличение количества подключений в Windows XP
  2. Запуск Photoshop CS4 в Linux через Wine
  3. Русские буквы в консоли сервера Ubuntu 10.10
  4. Starus Partition Recovery - программа восстановления данных
  5. Автоматически загружаем новую версию антивируса Dr.Web CureIt!
  6. Запуск торгового терминала MetaTrader 4 в Linux
  7. Как сделать загрузочную флешку из ISO-образа ОС
Комментарии
Имя (обязательное поле)
e-mail (обязательное поле) Сайт
Текст комментария:
IT-новости
Популярное
Облако тегов
При цитировании документа активная ссылка на сайт обязательна.
Администрирование и настройка серверов, рабочих станций на базе ОС Linux и Windows. www.itshaman.ru - Настройка Linux и Windows © 2009 - 2017