Terminar a tarefa no gerenciador de tarefas funciona, mas o taskkill no cmd não. Por que?

Terminar a tarefa no gerenciador de tarefas funciona, mas o taskkill no cmd não. Por que?

Preciso encerrar um software sempre que ele for transcodificado um arquivo de filme. Para automatizar isso, criei um pequeno script em lote. Nele tentei usar o taskkill assim:

taskkill /im taskname.exe /t /f

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

Também tentei iniciar a janela cmd como administrador e também tentei o PowerShell. Mas quando faço a lista de tarefas depois, ela ainda mostra a tarefa.

O engraçado é que a tarefa é encerrada instantaneamente quando clico com o botão direito nela no gerenciador de tarefas e finalizo a tarefa. Qual comando a "tarefa final" chama no gerenciador de tarefas? Algo que posso usar para automatizar um arquivo em lote?

Responder1

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

nircmd.exe killprocess processname

Responder2

Se você não pode eliminá-lo pelo nome, mas possui o ID do processo, você pode tentar eliminá-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%

informação relacionada