Войти

Показать полную графическую версию : [решено] Рестартовать зависшие процессы


osp2008
26-07-2010, 15:25
Подскажите как через батник или VBS проверить не зависла ли программа "run.exe" или процесс "Run.exe"
и если висит то перезапустить его.
P/S просто taskkill -f не подходит нужно именно проверять и перезапускать только если завис иначе можно
потерять данные

osp2008
27-07-2010, 12:32
или подскажите как стартовать файл только в том случае если его нет среди запущенных процессов

deepred
27-07-2010, 13:24
osp2008,

по поводу отслеживания зависшего процесса надо подумать, а запуск
процесса по факту наличия отсутствия делается так:



strCommand = "Notepad.exe"

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& "." & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery( _
"Select * from Win32_Process " _
& "Where Name = '"& strCommand &"'")

If colProcesses.count = 0 Then

Set objProcess = objWMIService.Get _
("Win32_Process")
intRet = objProcess.Create _
(strCommand, Null, null, intProcessID)

If not intRet = 0 Then
Wscript.Echo "Ошибка создания процесса" & _
vbcrlf & "Command line: " & strCommand
End If

Else
Wscript.Echo "Существует " & colProcesses.count _
& " экземпляр(ов) процесса" & strCommand
End if

Создай задачу в планировщике на кратный запуск скрипта через необходимый интервал времени...

awkozlov
29-05-2013, 00:24
По отслеживанию зависшего процесса вот здесь (http://forum.oszone.net/showthread.php?p=2158081#p2158081) пытаемся код создать

Iska
29-05-2013, 07:25
PowerShell:
$sPath2App = "E:\Песочница\0263\BadApp\BadApp.exe"

$oProcess = Get-Process -Name BadApp -ErrorAction:SilentlyContinue

if($oProcess -eq $NULL) {
Start-Process -FilePath $sPath2App
} else {
if(-not $oProcess.Responding) {
$oProcess.Kill()
Start-Process -FilePath $sPath2App
}
}

В качестве исполняемого файла использовалась утилита для имитации различных состояний процесса: Bad Application - Hang Process, Crash, Terminate Explorer - NTWind Software (http://www.ntwind.com/software/utilities/badapp.html).




© OSzone.net 2001-2012