locked
Закрытие окна терминала при закрытии программы 1с - решение проблемы RRS feed

  • Вопрос

  • Добрый день, выкладываю решение известной проблемы, уверен многим пригодится. Описанное ниже актуально для 2003 Server 64, 2008 Server. Необязательно писать скрипты по убиванию процессов и использовать их в качестве среды для пользователей - это не правильно, проблема решилась по другому. Вначале рекомендую установить все критические обновления от Microsoft, далее по тексту (придумал не я, нагуглил на каком-то форуме после неудачных попыток исправить ситуацию: думал KAV 6 EE виноват - нет, думал прав не хватает - нет, запускал скриптом - нет и т.д и т.п.) Буду рад если кому пригодится :

    Ситуация

    Терминальный сервер под Windows Server 2008 (2003) R2, терминальные клиенты под 98, 2000, XP, 7.

    Ряду теминальных пользователей назначен запуск 1С:Предприятие 7.7 при запуске терминального сеанса.
    Проблема

    При закрытии 1С не всегда происходит завершение терминальной сессии.
    Поиск решения

    После непродолжительных поисков было выяснено следующее: при обращении к печати запускается процесс SplWOW64.exe, который отсается запущенным еще какое-то время после вполнения задания печати, затем сам снимается.

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

    Немного о самом SplWOW64.exe:

    Данный процесс используется для преобразований между 32-разрядными и 64-разрядными приложениями. Этот процесс остается в памяти в целях расширения производительности системы и выгружается из памяти через заданное время после окончания последнего задания. [This process is used to convert between 32 bit and 64 bit applications. This process remains in memory in order to increase system performance and unloads from memory after a specified time from the end of the last job.]

    Среди найденных решений были следующие:

        * запускать вместо 1С bat-ник в котором задать запуск 1С и после ее закрытия убиство данного процесса;
        * задать в реестре минимальное время после которого процесс SplWOW64.exe выгружается из памяти после завершения последнего задания (минимальное время 1 минута)
        * добавление SplWOW64.exe в список терминальных сервисов – данный метод мне показался наиболее удобным и был применен.

    Решение

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

        * открываем редактор реестра: Win+R – regedit;
        * переходим в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\SysProcs];
        * добавляем DWORD: SPLWOW64.EXE со значением 0.

    Проблема решена.

     

    • Изменен тип osr_MVP 5 сентября 2010 г. 17:52
    • Изменен тип ILYA [ sie ] Sazonov 1 сентября 2016 г. 5:54
    5 сентября 2010 г. 12:47

Ответы

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

    Решение описано в статье https://support.microsoft.com/kb/2513330


    Сазонов Илья http://isazonov.wordpress.com/

    • Предложено в качестве ответа ILYA [ sie ] Sazonov 1 сентября 2016 г. 5:54
    • Помечено в качестве ответа ILYA [ sie ] Sazonov 1 сентября 2016 г. 5:54
    7 ноября 2014 г. 17:43

Все ответы

  • Спасибо, очень помогло!
    7 ноября 2014 г. 13:52
  • Ситуация более общая и может проявляться с любой другой программой, которая печатает из терминальной сессии.

    Решение описано в статье https://support.microsoft.com/kb/2513330


    Сазонов Илья http://isazonov.wordpress.com/

    • Предложено в качестве ответа ILYA [ sie ] Sazonov 1 сентября 2016 г. 5:54
    • Помечено в качестве ответа ILYA [ sie ] Sazonov 1 сентября 2016 г. 5:54
    7 ноября 2014 г. 17:43
  • Спасибо. Проблема решена последним пунктом
    17 августа 2015 г. 11:25
  • Спасибо, данное лечение через реестр работает и на windows server 2012r2.
    24 июня 2016 г. 6:30
  • Та же проблема но с 1С Предприятие 8.

    Применил.

    Сервер надо перегружать?


    С уважением, Дмитрий.


    30 августа 2016 г. 11:30
  • Вроде подобная проблема перестала появляться.

    Шаманство, но работает.


    С уважением, Дмитрий.

    31 августа 2016 г. 20:58
  • Спасибо! Вы гений! Помогло. :)
    29 августа 2018 г. 15:47