Como terminar uma tarefa a partir de um arquivo de lote que não é um processo?

1

Eu tenho um arquivo em lotes que está iniciando um script (python one). Eu estou procurando um comando do windows que irá finalizar o script. taskkill está trabalhando em processos e não há nenhum processo único aqui, então eu estou procurando por algum comando que irá simular clicando com o botão direito na tarefa e escolhendo "end task".

aqui está a tarefa mostrada no gerenciador de tarefas do Windows.

Obrigado

    
por omer bach 04.05.2014 / 17:29

1 resposta

3

Sim, existe, o taskkill do cmd.exe pode matar o cmd.exe para você. Se você precisar terminá-lo usando um nome personalizado, inicie o script usando o comando start , que permite que você dê ao seu programa um título exclusivo.

Vamos supor que você usou o MyApp Test como título iniciando seu script da seguinte forma:

start "MyApp Test" c:\python.py

Agora você pode matar seu script usando:

taskkill /f /FI "WINDOWTITLE eq MyApp Test"

Alternativamente, mas um pouco arriscado, você provavelmente pode matar a tarefa diretamente usando o seguinte comando:

taskkill /f /FI "WINDOWTITLE eq *cmd.exe - SAM"

EDITAR: Como e31415 aponta, a opção / f não é necessariamente necessária. É usado para forçar a execução de uma tarefa. Isso significa que, se um script python não estiver mais respondendo, o / f ainda o matará, enquanto sem / f poderá não. Experimente sem e se funcionar, decida se quer matá-lo com força ou não.

    
por 04.05.2014 / 17:44