Имя: Пароль:
1C
1С v8
Закрыть принудительно 1с-ку
0 AnisaL
 
29.05.13
14:30
Добрый день!
Скажите пожалуйста, как закрыть сеанс 1с-ки принудительно? Например при простое программы больше 1 часа?
1 mikecool
 
29.05.13
14:31
какой нить глобальный обработчик ожидания
2 mikecool
 
29.05.13
14:31
или в консоли кластера поубивать все коннекты нахер!!!!
3 Maxus43
 
29.05.13
14:31
(1) как простой замерить хочешь?
4 AnisaL
 
29.05.13
14:32
(1) не, ну чтоб не я это делала, а сама программа
5 Maxus43
 
29.05.13
14:33
(4) это вопрос к админам больше, а не к програмеру 1с. да и админы пошлют. Это параноя
6 mikecool
 
29.05.13
14:33
(3) а вот хз
7 mikecool
 
29.05.13
14:34
+6 надо искать глобальный OnKeyPressed )))
8 AnisaL
 
29.05.13
14:40
(7) это обработчик такой?
9 Sangenytch
 
29.05.13
14:41
MiracleNative.dll , не?
10 AnisaL
 
29.05.13
14:46
(9) а что это?
11 Trotter
 
29.05.13
14:54
Может проще настроить пользователям компы так что бы они вырубались при простое 1ч ?)
12 Кай066
 
29.05.13
14:57
Какой нибудь виндовый скрипт, чтоб килял процесс 1сv8 при запуске скринсейвера
13 AnisaL
 
29.05.13
15:01
(12) скрипты только я не умею писать
14 Кай066
 
29.05.13
15:05
(13) Гугл в помощь. Админ есть?
https://www.google.ru/search?q=скрипт+завершить+процесс

TASKKILL /F /IM "process.exe"
15 Trotter
 
29.05.13
15:08
TASKKILL [/S <система> [/U <пользователь> [/P [<пароль>]]]]
        { [/FI <фильтр>] [/PID <процесс> | /IM <образ>] } [/T] [/F]

Описание:
   Завершает процесс по его ID (PID) или имени образа.

Список параметров:
  /S   <система>                 Подключаемый удаленный компьютер.

  /U   [<домен>\]<пользователь>  Пользовательский контекст, в котором
                                 должна выполняться эта команда.

  /P   <пароль>                  Пароль для этого пользовательского контекста.
                                 Запрашивает пароль, если он не задан.

   /FI    <фильтр>               Применение фильтра для выбора набора задач.
                                 Разрешение использовать "*". Пример,
                                 imagename eq acme*

   /PID <процесс>                Идентификатор процесса, который требуется
                                 завершить.
                                 Используйте TaskList, чтобы получить PID.

  /IM  <образ>                   Имя образа процесса, который требуется
                                 завершить. Знак подстановки "*" может быть
                                 использован для указания всех заданий или
                                 имен образов.

   /T                            Завершение указанного процесса
                                 и всех его дочерних процессов.

   /F                            Принудительное завершение процесса.

  /?                             Вывод справки по использованию.

Фильтры:
   Имя фильтра   Допустимые операторы           Допустимые значения
   -----------   ---------------           -------------------------
   STATUS        eq, ne                    RUNNING |
                                           NOT RESPONDING | UNKNOWN
   IMAGENAME     eq, ne                    Имя образа
   PID           eq, ne, gt, lt, ge, le    Значение PID
   SESSION       eq, ne, gt, lt, ge, le    Номер сессии
   CPUTIME       eq, ne, gt, lt, ge, le    Время CPU в формате
                                           hh:mm:ss.
                                           hh - часы,
                                           mm - минуты, ss - секунды
   MEMUSAGE      eq, ne, gt, lt, ge, le    Использование памяти в КБ
   USERNAME      eq, ne                    Имя пользователя в формате
                                           [<домен>\]<пользователь>
   MODULES       eq, ne                    Имя DLL
   SERVICES      eq, ne                    Имя службы
   WINDOWTITLE   eq, ne                    Заголовок окна

   Примечание
   ----
   1) Символ '*' для параметра /IM применим только совместно с фильтрами.
   2) Завершение удаленных процессов всегда будет принудительным (/F).
   3) Фильтры "WINDOWTITLE" и "STATUS" не принимаются во внимание, когда
      компьютер является удаленным.

Примеры:
 TASKKILL /IM notepad.exe
 TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
 TASKKILL /F /IM cmd.exe /T
 TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
 TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
 TASKKILL /S <система> /U <домен>\<пользователь> /FI "USERNAME ne NT*" /IM *
 TASKKILL /S <система> /U <пользователь> /P <пароль> /FI "IMAGENAME eq note*"
16 AnisaL
 
29.05.13
15:10
(15) ого сколько всего) Благодарю))
17 AnisaL
 
29.05.13
15:11
А время там можно задать - например убить все процессы 1с в 12 часов ночи?
18 Кай066
 
29.05.13
15:17
(17) Планировщик заданий в винде встроен
19 Кай066
 
29.05.13
15:18
(17) Вообще наверное в 12 можно сервер с базами перезагружать например
20 Sangenytch
 
29.05.13
15:19
TASKKILL кмк больно жёстко...

Может всё-таки "MiracleNative.dll" (внешняя компонента  для 1С 8.2)?
21 Кай066
 
29.05.13
15:22
(20) Только хардкор - Отключайте электричество

http://stop-elektro.ru/components/com_virtuemart/shop_image/product/_________________4ddbfd797b1c2.jpg
22 alextom81
 
29.05.13
15:22
1. Данная задача решена моим отделом в УПП
2. Но, блин, сколько крови нам выпила... (сейчас работает после трех переделок)
3. Цена - 333 $
23 Azverin
 
29.05.13
15:24
(0) обратитесь к специалисту. испортите данные!
24 Azverin
 
29.05.13
15:24
(22) без деталей, что сделали?
25 alextom81
 
29.05.13
15:27
1 регистр сведений, 2-е настройки пользователей, 3 обработчика ожидания, два вызова внешних компонент windows и 3 процедуры в модуле приложения

Это вкратце. И ЗавершитьРаботуСистемы(Ложь) - как подсказка
26 Azverin
 
29.05.13
15:29
(25) а мы плюнули на это дело - хлопотно слишком.
27 alextom81
 
29.05.13
15:29
(24) нет, два регистра сведений. =)
28 alextom81
 
29.05.13
15:30
(26) Неа, я не отступаю :)
29 AnisaL
 
29.05.13
15:32
(25) спасибо за подсказку!
30 H A D G E H O G s
 
29.05.13
15:36
(26) Ниче там хлопотного нет.
31 AnisaL
 
29.05.13
15:41
(30) А может поподробней описать?
32 AnisaL
 
29.05.13
15:44
(31) т.е. можете
33 Maxus43
 
29.05.13
15:44
(30) хлопотно отловить сам "простой", а не закрыть сеанс разумеется
34 H A D G E H O G s
 
29.05.13
15:45
Внешка с
GetLastInputInfo() для клавы + hook на мышь, или покопаться в native api винды на последний ввод от мыши, может есть че, чтобы самому не считать.

Ну и ОбработчикОжидания с ЗавершитьРаботуСистемы(Ложь)
35 kortun
 
29.05.13
15:50
(34) могут тупо свернуть 1ску и играть в пасьянс, опрос клавы и мышки тут бесполезен.
36 Trotter
 
29.05.13
15:57
А вообще какова цель ? Может просто программно на серваке отрубать сетевуху скриптом и всё отвалятся )))
37 AnisaL
 
29.05.13
16:00
(36) Цель такая, что многие 1с-ку забывают закрыть, поэтому хочется их принудительно повыгонять
38 Maxus43
 
29.05.13
16:03
(37) ночью рестарт службы делайте, отваляться. Это и полезно даже бывает
39 Trotter
 
29.05.13
16:04
А если в 1С сделать такую обработку которая берёт ТекущиеВремя() и Если Текущие время больше чем 21:00 для каждого пользователя прописать типо ЗакрытьПрограму()
40 Trotter
 
29.05.13
16:06
яб написал на дельфи, тока вот антивиры все на мои программы такого характера ругаются ))) на С++ или джава тоже можно попробовать ) WinApi тока вот...
41 Maxus43
 
29.05.13
16:07
Бывают "зависшие" сеансы, которые мешают например реорганизации индексов и вобще монопольному доступу. лучше наверняка мочить
42 Trotter
 
29.05.13
16:07
ды и каждому пользователю устанавливать их ходить, лениво )
Вообще было бы круто посмотреть как это реализовано на 1С )))
43 Maxus43
 
29.05.13
16:08
(42) твоё (39) решается простым обработчиком ожидания при старте системы
44 Trotter
 
29.05.13
16:14
Точно! можно же проще сделать, забубенить всем счётчик времени при работе который будет сравнивать время с реальным временем и если это время больше чем 21:00 то запустить функцию выхода, это можно сделать в 1С ?
45 Живой Ископаемый
 
29.05.13
16:36
2(0) настроить на сеевом оборудовании правило просто тсп-сессий