none
verificar script ativo RRS feed

  • 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?
    segunda-feira, 24 de agosto de 2009 16:02

Todas as Respostas

  • Mauro,

         Em vez de você mandar verificar o nome do processo, mande verificar o PID do processo. Em gerenciador de tarefa na guia processos exibir, selecionar coluna, marque a opção de PID.
    Leonardo Sousa
    segunda-feira, 24 de agosto de 2009 17:07
  • Leo, boa observação a sua, não havia pensado nesse ponto, você tem algum script que verifique o pid?, pois o que tenho verifica o processo.
    segunda-feira, 24 de agosto de 2009 17:10
  • Não tenho, mais coloque o seu ai para tentar alterar.
    Leonardo Sousa
    segunda-feira, 24 de agosto de 2009 17:23
  • 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
    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

    segunda-feira, 24 de agosto de 2009 17:39
  • 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



    segunda-feira, 24 de agosto de 2009 19:23
  • 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
    segunda-feira, 24 de agosto de 2009 19:26
  • 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.
    segunda-feira, 24 de agosto de 2009 20:21