Como sugerido por barlop o aplicativo de linha de comando de terceiros nircmd.exe fez o trabalho!
nircmd.exe killprocess processname
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?
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%
Tags command-line windows