![]() |
Мониторинг процесса в диспетчере задач и запуск его в случае отсутствия
Добрый день.
есть задача добавить к загрузке скрипт который будет висеть в памяти и мониторить присутствие процесса - а в случае его закрытия "случайно" - его запуск. процесс 'iexplore.exe' с ключом '-k' вмешательство пользователей в диспетчер задач отсутствует. Самому знаний возможно хватило бы что бы скопировать нужное из др. скриптов и связать в один скрипт, но на это уйдет время, а его увы нет. |
|
Цитата:
|
RostVY, «Alt-F4» случайно не нажимают.
|
слово "случайно" было взято в кавычки, что бы конкретно указать что это было вызвано пользователем, объект настройки и добавления скрипта в загрузку - ПК инфо киоск с ФЗС с загрузкой настраимового интерфейса, чувствую что в вопросе больше подозрений чем интереса в действительной помощи.
Если загрузить ПК с настраиваемым интерфейсом "iexplore.exe -k" загрузится страница эксплорера, с максимально ограниченным доступом к системе, при наличии постоянного интернет соединения конечно, но вот если страницу закрыть по ALT-F4 - останется только синий экран, и ни какой возможности загрузки эксплорера без перезахода в систему, что не есть гуд. Вроде подробно ответил? Сомнения Развеял? |
Цитата:
Что ж, пробуйте: Код:
Option Explicit Код:
"""C:\Program Files\Internet Explorer\iexplore.exe"" -k ""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm""" Вкратце: подключаемся к локальному Wbem, пытаемся запустить IE. Если запуск был удачен — ждём, пока не будет завершён процесс IE, затем запускаем новый процесс IE. И так — по кругу. Если же вдруг запуск процесса IE оказался неудачен — выходим из цикла и завершаем работу скрипта. |
Спасибо! Попробую сразу скажу получилост или нет.
|
Все проверил, замечательный скрипт, Большое спасибо! В купе с ФЗС универсальное средство непотопляемости инфо киоска :)
P.S. Насколько я понимаю, скрипт создает процесс iexplore с параметрами заданными в скрипте и сопровождает его, в случае закрытия - просто "реанимирует" его - я правильно понимаю суть? |
Цитата:
Цитата:
Если есть интерес, можете посмотреть на это обсуждение: vbscript: сценарий входа, выполнение только 1й программы, где ставится сходная задача, только в более общем виде. |
ФЗС - физически замкнутая среда, строится на групповых политиках, применяются несколько параметров для ограничей действий пользователей. как то - отсутсвие возможности вызова контекстного меню, отсутствия возможности изменить параметры среды, и тд. и т.п. Никаких внешних программ, исключительно штатными средствами операционной системы. Скрипт проверил на WIN7 все пучком. Еще раз спасибо!
|
Цитата:
|
Iska,
взял ваш скрипт, но с правкой не въеду надо чтоб проверялось раз в 30мин запущен ли teamviewer, если нет, то запускал бы поправил путь Код:
Option Explicit |
нашел скрипт для планировщика, Петя васечкин приводил
Код:
strComputer = "." |
господа, никто не поможет?
|
Wu-Tang, постоянная проблема, что люди не описывают задачу, а уже выбранное ими решение. При этом остаётся только догадываться, какая именно это задача, и строить выводы о том, насколько удачно это озвученное решение.
Вот, например, в Вашем случае я не вижу, почему бы Вам просто тупо не запускать приложение раз в тридцать минут? По выбранному и озвученному Вами решению — этого достаточно. Безо всяких скриптов. А вот что на самом деле нужно, какая в реальности стоит задача — остаётся неизвестным. То ли, действительно, раз в тридцать минут запускать приложение, то ли находить уже запущенное приложение, следить за ним и тотчас же перезапускать его при закрытии, то ли запускать приложение самим скриптом, следить и перезапускать его (проще и надёжнее в реализации). Опишите задачу. |
Iska,
хорошо, все просто. есть задача - проверять через определенные промежутки времени запущен ли тимвьювер и если нет, то запускать. либо из планировщика, либо само по себе. |
Iska,
ну так как поможите? |
Wu-Tang, ещё раз — чем Вас не устраивает обычный Планировщик: выполнять задание ежедневно, каждые 30 минут, в течение 24 часов? Это полностью решает описанную Вами задачу. Без какого-либо использования скриптов.
|
Могу предположить, что может там многократно ТМ вылезет или будет просто вылазить по верх всех окон
|
Fantastish, не предполагайте. Проверьте. Как это сделал я.
|
Iska,
но проверки то не будет, запущен ли процесс и как сказал Fantastish, накладываться будет каждый раз проверил запуск поверх запущенного процесса, главное окно тогда вылазит поверх всех окон. |
Цитата:
Цитата:
|
Iska,
у меня накладывается, могу видео записать. нет, процесс будет запускаться не первый раз, тк первый это из автозагрузки, а потом должен будет запускаться, если из него выйдут случайно. |
Wu-Tang, так, теперь ясно. Насколько я понимаю, само приложение даже при указании запускать в свёрнутом окне тупо разворачивает своё окно до нормального состояния, и тут ничего не поделаешь.
Могу тогда разве что предложить скрипт, который будет сам запускать процесс, следить за ним, и при его завершении — тут же запускать новый экземпляр приложения (т.н., «псевдо-неубиваемый» процесс). И Вы будете помещать в автозагрузку уже ярлык не на приложение, а на этот скрипт. Попробуйте так: Код:
Option Explicit |
Iska,
во, спасибо, все работает. |
Код:
Option Explicit Код:
cd " C:\Program Files (x86)\Mozilla Firefox" Спасибо |
Цитата:
|
написал, это как раз bat
Код:
cd " C:\Program Files (x86)\Mozilla Firefox" |
selftrips.ru, попробуйте так:
Код:
Option Explicit P.P.S. С вышедшей вчера версией могут быть проблемы из-за начала ограниченной поддержки ей многопроцессного режима. |
Цитата:
А еще более сложную задачу можно решить? Имеется 2 разных процесса firefox, каждый запущен со своего профиля и со своей строкой параметров, например: firefox.exe imacros://run/?m=macros1.js -p profil1 -no-remote firefox.exe imacros://run/?m=macros2.js -p profil2 -no-remote, где macros1.js, macros2.js imacrocs для каждого профиля. (вообще macros1 иmacros2 могут иметь одинаковые названия, так как каждый лежит в папке своего профиля) profil1 , profil2 название профилей. Можно организовать контроль "запущенности" именно firefox определенного профиля, и при его отсутствии запускать с нужного профиля с нужной строкой параметров (при этом может выполняьться firefox другого профиля) Если это возможно, как контролировать оба запуска? P.S. "Firefox уже есть в x64-версии." А что дает переход на 64 битную версию? |
selftrips.ru, в скрипте ожидается завершение работы именно того самого процесса, который и был запущен. И никакого другого. Посему — делайте два скрипта, каждый со своей командной строкой для «firefox.exe», и исполняйте оба (если сам Firefox такое позволяет).
Цитата:
|
1. Как убить запущенный код VBS?
2. Те не смотря на то что в диспетчере зададч оба процесс имеют одно название, реально код понимает что это разные процессы? |
|
1.Как он должен называться в диспетчере задач?
2,Т.е. контролируется ид процесса (я правильно понимаю что он каждый раз разный?)? |
Напишите, плиз, вариант кода для
Код:
firefox.exe imacros://run/?m=macros1.js -p profil1 -no-remote |
Цитата:
Цитата:
Цитата:
Код:
If .Get("Win32_Process").Create( _ |
Цитата:
|
Покажите скриншот Диспетчера задач с процессами («Alt-PrintScreen»).
|
Если запущено несколько wscript.exe можно ли как то сделать чтобы они как то различались в диспетчере задач?
Спасибо |
Цитата:
|
Подскажите еще плиз. в вашем коде есть "C:\Program Files (x86)\Mozilla" , но я обновил FF и он стал 64 разрядным. Но скрипт продолжает работать. Это нормально?
|
Цитата:
|
Цитата:
Код:
Option Explicit |
Что за приложение? Какой путь?
|
Время: 21:28. |
Время: 21:28.
© OSzone.net 2001-