PDA

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


Mescaline
25-11-2013, 16:09
нужно каждые 30мин проверять процесс, если нет запустить файл (например c:\test.exe). такое возможно реализовать, без стороннего софта?

Mescaline
25-11-2013, 18:16
нагуглил такой код, не заработал.


sProcessName = "process.exe"

sComputer = "." ' use "." for local computer
Set oWmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")

Set oShell = CreateObject("WScript.Shell")

' go into eternal loop
Do
Set colProcessList = oWmi.ExecQuery _
("Select * from Win32_Process Where Name = '" & sProcessName & "'")

If colProcessList.Count = 0 Then
' process is not running

' do the CLFYtest here

If remote server is up Then
oShell.Run "C:\name.exe", 1, False
End If
End If

WScript.Sleep 5 * 60 * 1000 ' wait 5 minutes before trying again
Loop


где ошибка ?

Iska
25-11-2013, 19:27
такое возможно реализовать, без стороннего софта? »
Возможно. Почему каждые 30 минут, и какой именно процесс?

Mescaline
26-11-2013, 07:14
Почему каждые 30 минут »
можно и 40, суть не в этом. (консольная программа часто вылетает, нужно восстанавливать процесс).
какой именно процесс? »
в деспетчере задач

Iska
26-11-2013, 10:49
Перефразирую: процесс, который проверяем, и процесс, который запускаем — это одно и то же приложение?

Mescaline
26-11-2013, 10:51
Iska, спасибо за попытку помочь. решение найдено. не актуально.




© OSzone.net 2001-2012