Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Автоматический запуск процесса, если он закрыт.

Ответить
Настройки темы
Любой язык - [решено] Автоматический запуск процесса, если он закрыт.

Новый участник


Сообщения: 31
Благодарности: 1

Профиль | Отправить PM | Цитировать


Прошу помощи, необходим скрипт, который бы следил за процессом и перезапускал, если он закроется/вылетит.

Отправлено: 07:35, 23-12-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx

Dim lngProcessID


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

Do
	If objSWbemServicesEx.Get("Win32_Process").Create("c:\windows\system32\notepad.exe", "c:\", Nothing, lngProcessID) = 0 Then
		objSWbemServicesEx.ExecNotificationQuery( _
			"SELECT * FROM __InstanceDeletionEvent WITHIN 1 " & _
			"WHERE TargetInstance ISA 'Win32_Process' AND " & _
			"TargetInstance.Handle = '" & CStr(lngProcessID) & "'").NextEvent
	Else
		WScript.Echo "Can't execute [%SystemRoot%\system32\notepad.exe]."
		WScript.Quit 1
	End If
Loop

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0
Укажите вместо выделенного путь к Вашему исполняемому файлу. Используйте скрипт для запуска приложения и слежения за ним.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:51, 23-12-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 31
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

Отправлено: 01:26, 26-12-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx

Dim lngProcessID


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

If objSWbemServicesEx.Get("Win32_Process").Create("c:\windows\system32\notepad.exe", "c:\", Nothing, lngProcessID) = 0 Then
	objSWbemServicesEx.ExecNotificationQuery( _
		"SELECT * FROM __InstanceDeletionEvent WITHIN 1 " & _
		"WHERE TargetInstance ISA 'Win32_Process' AND " & _
		"TargetInstance.Handle = '" & CStr(lngProcessID) & "'").NextEvent
	
	If Not objSWbemServicesEx.Get("Win32_Process").Create("c:\windows\system32\calc.exe", "c:\", Nothing, lngProcessID) = 0 Then
		WScript.Echo "Can't execute [%SystemRoot%\system32\calc.exe]."
		WScript.Quit 2
	End If
Else
	WScript.Echo "Can't execute [%SystemRoot%\system32\notepad.exe]."
	WScript.Quit 1
End If

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:15, 26-12-2013 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Автоматический запуск процесса, если он закрыт.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Автоматический запуск bat с флешки k0mar Скриптовые языки администрирования Windows 5 27-10-2013 14:23
2008 - Автоматический запуск VirtualBox nikollor Windows Server 2008/2008 R2 2 13-03-2013 16:28
Службы - Сборщик данных - автоматический запуск Analog Microsoft Windows 7 8 14-02-2011 12:17
Разное - Автоматический запуск принтера Fagundas Microsoft Windows 2000/XP 3 12-12-2008 20:42
Автоматический запуск приложения в терминальной сессии Nerian Microsoft Windows NT/2000/2003 8 10-12-2008 19:56




 
Переход