Finalizar la tarea en el administrador de tareas funciona, pero taskkill en cmd no. ¿Por qué?

Finalizar la tarea en el administrador de tareas funciona, pero taskkill en cmd no. ¿Por qué?

Necesito finalizar un software cada vez que finaliza la transcodificación de un archivo de película. Para automatizar esto, hice un pequeño script por lotes. Allí intenté usar taskkill de esta manera:

taskkill /im taskname.exe /t /f

Pero siempre recibo el siguiente mensaje de error: ERROR: No se pudo finalizar el proceso con PID 6708. Motivo: no hay ninguna instancia en ejecución de la tarea.

También intenté iniciar la ventana cmd como administrador y también probé PowerShell. Pero cuando hago la lista de tareas después, todavía muestra la tarea.

Lo curioso es que la tarea finaliza instantáneamente cuando hago clic derecho sobre ella en el administrador de tareas y finalizo la tarea. ¿Qué comando llama "finalizar tarea" en el administrador de tareas? ¿Algo que pueda usar para automatizar en un archivo por lotes?

Respuesta1

Como lo sugierebarlop¡La aplicación de línea de comandos de terceros nircmd.exe hizo el trabajo!

nircmd.exe killprocess processname

Respuesta2

Si no puede eliminarlo por nombre, pero tiene ID de proceso, puede intentar eliminarlo por 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%

información relacionada