Как определить какая конфигурация открыта процессом 1cv7.exe? #351335


#0 by dave2000
На компе (в данном случае это сервак) запущено много процессов 1cv7.exe, каждому процессу соответствует своя открытая конфигурация. Реально ли определить какая конфигурация соответствует каждому из запущеных процессов (имя конфы или путь)? Если реально, то какими внешними средствами? Может у 1С есть интерфейс какой, через который можно было бы узнать такую инфу, как имя конфигурации, путь, имя пользователя и т.д. (для запущеного процесса 1С)
#1 by КонецЦикла
Если не юзать какой-то стартер и это SQL - моно по spid  определить
#2 by DGorgoN
Ставим хук на обращение к фс. По каталогу и реестру определяем имя открытой базы
#3 by dave2000
2КонецЦикла: Можно поподробнее плз? База SQL... Немного уточню, зачем это нужно: необходимо найти все процессы 1cv7.exe (всех пользователей на сервере), под которыми открыта какая-то определенная база, и корректно завершить именно эти процессы.
#4 by DGorgoN
А можно использовать обработку ожидания и флаг выхода-получится как раз корректно.
#5 by dave2000
2DGorgoN: Да, была уже такая идея, но на практике не прижилась. Когда в базу заходят одновременно более 50 пользователей, начинаются жуткие тормоза, вне зависимости от выставленого интервала ожидания. :(
#6 by H A D G E H O G s
Можно гораждо более изящное решение на основе регистрации интерфейса 1C-ки в таблице исполняемых объекто (Running Object Table). Для восьмерки это реализовано в Нетленки 2.2. Купите УПП, там это реализовано ©
#7 by DGorgoN
А патч ромикса стоит?
#8 by КонецЦикла
У нас тоже более 50, причем многие колбасят токо в путь У меня при старте/выходе и по обработке ожидания заполняется таблица пользователей Она коррелирует с таблицей master.dbo.sysprocesses Таким образом получаем список активных пользователей и знаем имя компа (пользователя в терминале) Дерни если надо по почте в личке, выложу когда - сообщу
#9 by Magic
скопировать 1сv7s.exe в 2сv7s.exe, 3сv7s.exe ... и каждую базу запускать своим exe-шником с параметром /D :)
#10 by Добрый_Злой Лемур
использовать утилиту handle.
#11 by Добрый_Злой Лемур
#12 by smaharbA
все делается абсолютно штатно
#13 by Добрый_Злой Лемур
handle путь к базе - увидем pid процесса, далее находим этот процесс в диспетчере задач
#14 by dave2000
О, спасибо! утилитка очень даже помогла! Пишу всё что она выдает в текстовый фалик, и уже с ним работаю. Осталось дописать приблуду, которая корректно завершает процес по его PID (а то Handle его просто безпощадно убивает) ;)
#15 by sapphire
млин проуцесс эксплорер с сисинтерналс прекрасно всё кажеть
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С