none
Finalizar um processo ao fechar um programa RRS feed

  • Pergunta

  • Olá,

    Estou precisando finalizar um processo no agendador tarefas, quando um programa especifico for finalizado. Tem possibilidade?

    sexta-feira, 17 de agosto de 2012 02:24

Respostas

  • meio complicado isso, no agendador de tarefas você pode fazer quando um event ocorrer no event viewer, derrepente pode ver se esse programa grava algo no event viewer quando ele fecha, ou fazer um script que rode de x em x tempo e verifica se o programa está aberto.

    Ajudei? Marca como útil, aproveita e visita meu blog :) http://howtoserver.com

    • Marcado como Resposta Helder Nunes sexta-feira, 17 de agosto de 2012 15:57
    sexta-feira, 17 de agosto de 2012 12:53

Todas as Respostas

  • meio complicado isso, no agendador de tarefas você pode fazer quando um event ocorrer no event viewer, derrepente pode ver se esse programa grava algo no event viewer quando ele fecha, ou fazer um script que rode de x em x tempo e verifica se o programa está aberto.

    Ajudei? Marca como útil, aproveita e visita meu blog :) http://howtoserver.com

    • Marcado como Resposta Helder Nunes sexta-feira, 17 de agosto de 2012 15:57
    sexta-feira, 17 de agosto de 2012 12:53
  • Infelizmente não registra nada no event viewer. 

    O ambiente é o seguinte:

    Windows 2008 Server R2 com função de Microsoft RDS - RemoteApp

    A Filial acessa o sistema da Matriz via Remote Desktop - RemoteAPP. O sistema roda em linux (RED HAT), as estações acessam o sistema via cliente telnet. Então no Servidor RDS foi habilitado  o serviço de Cliente Telnet. Para o sistema funcionar. É  necessário inicializar outra aplicação antes de chamar o sistema via telnet . Tentei colocar essa outra aplicação como serviço mas não consegui. 

    Enfim, foi criado um arquivo .bat chamando primeiro a aplicação e depois os comandos Telnet. Entao o arquivo .bat foi publicado no RemoteAPP para disponibilizar o sistema para Filial remoto.

    Detalhe: Quando um usuário na filial conecta o arquivo .rdp, chamando o arquivo .bat. logo vai ser inicializado a aplicação e o cliente telnet. A questão é, quando o usuario fecha o sistema, ainda fica com a sessão aberta, pois a outra aplicação permanece ativa. Daí não é possível finalizar a sessão.

    Como não consegui deixar essa aplicação como serviço no 2008 R2,  o objetivo era fazer de alguma forma,  quando o usuário fechar o sistema, automaticamente fechar também a outra aplicação que está ativa  e então finalizar a sessão do RDS .


     
    sexta-feira, 17 de agosto de 2012 16:36
  • pode colocar um script de logoff no usuario que mate a aplicação

    Ajudei? Marca como útil, aproveita e visita meu blog :) http://howtoserver.com

    sexta-feira, 17 de agosto de 2012 16:42
  • Mas o logoff só vai ser realizado quando essa aplicação fechar, pois o arquivo .rdp que foi publicado, chama um .bat. que contem comandos pra chamar duas aplicações. Entao so vai realizar logoff quando as duas forem finalizadas.

    O ideal é colocar essa aplicação como Serviço. Mas não consegui realizar isso no windows 2008 R2.

    Tentei algumas dicas mas não deu certo.
    http://evertonfaria.wordpress.com/2010/12/01/instalando-seu-programa-como-servio-no-windows/
    http://support.microsoft.com/kb/251192/pt-br

    sábado, 18 de agosto de 2012 02:47
  • sábado, 18 de agosto de 2012 13:02
  • Bom dia,

    O comando abaixo por exemplo fecha o aplicativo excel:

    taskkill /im excel.exe

    quarta-feira, 24 de outubro de 2012 12:34
  • Problema é que ele quer fechar um aplicativo quando outro for fechado

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki

    quarta-feira, 24 de outubro de 2012 12:36
  • Tente usar este .BAT.

    Fiz um exemplo utilizando a calculadora e o notepad, queria que quando eu fechasse o notepad a calculadora também fosse fechada.

    Fiz um loop que fica procurando o processo do notepad quando não encontra ele fecha a calculadora.

    .BAT

    START calc.exe
    START notepad.exe
    
    
    :loop
    
    :: Esse ping é apenas para aquarda 2 segundos (-n 4), para 3s use (-n 5),sempre segundos + 2
    ping 127.0.0.1 -n 4 -w 1000
    
    tasklist -FI "IMAGENAME eq notepad.exe" | find /i "notepad.exe"
    IF %errorlevel% == 0 goto loop
    
    taskkill /im calc.exe


    Fábio de Paula Junior

    quarta-feira, 24 de outubro de 2012 13:12
    Moderador