Inquiridor
verificar script ativo

Pergunta
-
Boa tarde,
eu tenho um script rodando e loop como um processo ativo em meu servidor, este script verifica uma determinada área de meu servidor e gostaria de ter uma forma de verificar se este script continua no gerenciador de processos, mas o que acontece é que toda vez que crio um script para verificar um determinado processo onde eu indico que o processo que deve ser verificado é o "winscrip" ele não funciona pois essa verificação gera um outro processo winscrip, o que devo fazer? tem como mudar o nome do processo de um script?
Todas as Respostas
-
-
-
-
strComputer = "svm-info-10"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colWMI = objWMIService.ExecQuery _
("Select name from Win32_Process WHERE name='wscript.exe'")i=0
For Each objWMI in colWMI
i=i+1
Nextif i=0 then
wscript.echo
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "atendimento@verdesmares.com.br"
objEmail.To = "suporte@verdesmares.com.br"
objEmail.Subject = "Monitor Servidor GVM"
objEmail.Textbody = "Servidor GVM parou de gravar, por favor verificar."
objEmail.Send
end if -
Olá,
O problema é que o PID muda toda vez que altera o script... como faria essa validação???
Você não pode rodar seu script em um schedulle??? É mais facil validar...
Ou valida que tem que existir no mínimo 2 processos wscript.exe
Até mais,
Jesiel
Obs.: Se útil, classifique
-
Cara não tenho muita experiência com VBS. Mais tá ai uma tentativa, ve se funciona.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Handle = '" & PID & "'")
i=0
For Each objWMI in colWMI
i=i+1
Next
if i=0 then
wscript.echo
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "atendimento@verdesmares.com.br "
objEmail.To = "suporte@verdesmares.com.br "
objEmail.Subject = "Monitor Servidor GVM"
objEmail.Textbody = "Servidor GVM parou de gravar, por favor verificar."
objEmail.Send
end if
Leonardo Sousa -
Jesiel, eu poderia fazer esse trabalho de alteração do pid pois quando fosse para fazer isso, significaria que o processo foi encerrado, pois são justamente dois scripts que ficam rodando em loop, e esse outro script seria justamente para verificar o pid destes dois processos, então quando fossem finalizados eu acessaria o script e substituiria o pid desse processo. sei que é um trabalho mas acho que para monitorar seia o único jeito.