A tarefa final no gerenciador de tarefas funciona, mas o taskkill no cmd não. Por quê?

1

Eu preciso finalizar um software toda vez que é feito transcodificar um arquivo de filme. Para automatizar isso, fiz um pequeno script em lote. Aí eu tentei usar taskkill assim:

taskkill /im taskname.exe /t /f

Mas sempre recebo a seguinte mensagem de erro: ERRO: O processo com o PID 6708 não pôde ser finalizado. Razão: Não há nenhuma instância em execução da tarefa.

Eu também tentei iniciar a janela do cmd como administrador e também experimentei o PowerShell. Mas quando eu faço tasklist depois, ainda mostra a tarefa.

O engraçado é que a tarefa é terminada instantaneamente quando clico nele com o botão direito do mouse no gerenciador de tarefas e na tarefa final. Qual comando a chamada "end task" chama no gerenciador de tarefas? Algo que eu possa usar para automatizar em um arquivo de lote?

    
por schmiddl 18.05.2015 / 11:37

2 respostas

2

Como sugerido por barlop o aplicativo de linha de comando de terceiros nircmd.exe fez o trabalho!

nircmd.exe killprocess processname
    
por 18.05.2015 / 13:42
0

Se você não pode matá-lo pelo nome, mas tem o ID do processo, você pode tentar matá-lo pelo PID:

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%
    
por 18.05.2015 / 13:12