A partir do prompt do Cmd - Como tempo um programa para ser encerrado?

0

Eu quero descobrir uma maneira de usar o prompt de comando para fechar um programa, digamos ... 60 segundos. Semelhante ao desligamento programado por computador (shutdown / s / t) e ao taskill.

Alguma ideia? Isso é possível?

    
por jake110112 12.06.2016 / 16:11

2 respostas

2

Como posso fechar um programa em, digamos, 60 segundos?

Você pode usar ping ou timeout para produzir um atraso.

  • timeout não está disponível no Windows XP.
  • timeout te dá uma contagem regressiva.

ping solution

Para matar notepad após 60 segundos, use o seguinte comando:

ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe

Nota:

  • Você precisa de 61 pings, pois há um atraso de 1s entre ping s.

Exemplo:

F:\test>time /t && ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe && time /t
17:56
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 8084.
17:57

A delay can also be produced by the PING command with a loopback address, there is a delay of 1 second between each consecutive ping. In tests PING consumes less processor time than Sleep.exe or Timeout.exe, this allows other processes to run in the background. The PING command can only be interrupted with Ctrl-C. Source: Clay Calvert (usenet 2001.)

e.g. for a delay of 40 seconds:

PING -n 41 127.0.0.1>nul

Origem tempo limite

timeout solution

Para matar notepad após 60 segundos, use o seguinte comando:

 timeout /t 60 && taskkill /im notepad.exe

Notas:

  • timeout não está disponível no Windows XP.
  • timeout está mal implementado. Se você fizer um "timeout 1", ele aguardará até o "próximo segundo", o que poderia ocorrer em 0,1 segundo. Tente fazer "timeout 1" algumas vezes e observe a diferença no atraso. Por 5 segundos ou mais, pode não ser um grande problema, mas por um atraso de 1 segundo funciona mal.

Exemplo:

F:\test>time /t && timeout /t 60 && taskkill /im notepad.exe && time /t
18:07

Waiting for  0 seconds, press a key to continue ...
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 5412.
18:08

Leitura Adicional

por 12.06.2016 / 19:14
1

Tente usar o Agendador de tarefas .

  1. Configure o log de eventos para que um evento seja gerado quando o programa desejado for iniciado.
  2. Configure uma tarefa agendada para ser executada quando o evento específico de # 1 for registrado. Na tarefa agendada, um atraso pode ser definido (60 segundos no seu caso) e quaisquer comandos / scripts podem ser iniciados.
por 12.06.2016 / 19:35