taskkill - Finalizar procesos
Cuando una aplicación se bloquea y deja de responder, lo habitual es cerrarla desde el Administrador de tareas. También puedes finalizar procesos desde el símbolo del sistema con el comando taskkill.
Es especialmente útil para automatizar tareas en archivos por lotes o para cerrar varios procesos a la vez.
Si solo quieres cerrar una aplicación bloqueada, ejecuta taskkill /F /IM aplicacion.exe. Puedes consultar el nombre del ejecutable con el comando tasklist.
Sintaxis de taskkill
TASKKILL [opciones]
Opciones principales
| Opción | Descripción |
|---|---|
/IM nombre_proceso | Finaliza por nombre del proceso (imagen) |
/PID id_proceso | Finaliza por ID de proceso |
/F | Fuerza la finalización |
/T | Finaliza también los procesos secundarios |
/FI "filtro" | Aplica a los procesos que cumplen un filtro |
Finalizar por nombre de proceso (/IM)
Indica el nombre del ejecutable para finalizar un proceso.
taskkill /IM notepad.exe
Si hay varios procesos con el mismo nombre, todos son objetivo. /IM también admite el comodín *.
taskkill /F /IM chrome*
Finalización forzada (/F)
Si el proceso no se cierra con la señal normal, usa /F para forzarlo.
taskkill /F /IM notepad.exe

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Sin /F, se envía al proceso una solicitud de cierre (WM_CLOSE) y la aplicación puede mostrar un cuadro como “¿Desea guardar los cambios?”. Con /F, el proceso termina de inmediato sin ningún cuadro, por lo que se pierden los datos sin guardar.
Finalizar por ID de proceso (/PID)
También puedes usar el ID de proceso (PID) que obtuviste con el comando tasklist.
taskkill /PID 12345
Finalizar varios procesos a la vez
taskkill /PID 12345 /PID 67890
Para finalizar solo uno de varios procesos con el mismo nombre, busca su PID con tasklist y pásalo a /PID.
Finalizar también los procesos secundarios (/T)
La opción /T finaliza el proceso indicado junto con sus procesos secundarios.
taskkill /F /T /IM cmd.exe
Como /T también finaliza los procesos secundarios, pueden cerrarse procesos que no querías. Si el objetivo es cmd.exe, ten cuidado de no cerrar tu propio símbolo del sistema.
Usar filtros (/FI)
La opción /FI limita el objetivo a los procesos que cumplen una condición.
Condiciones de filtro principales
| Filtro | Operadores | Descripción |
|---|---|---|
STATUS | eq, ne | Estado del proceso |
IMAGENAME | eq, ne | Nombre del proceso |
PID | eq, ne, gt, lt, ge, le | ID de proceso |
MEMUSAGE | eq, ne, gt, lt, ge, le | Uso de memoria (KB) |
USERNAME | eq, ne | Usuario que ejecuta el proceso |
WINDOWTITLE | eq, ne | Título de la ventana |
Finalizar procesos que no responden
taskkill /F /FI "STATUS eq NOT RESPONDING"
Solo afecta a los procesos “que no responden”, lo que resulta útil para cerrar en bloque aplicaciones bloqueadas. La condición funciona sobre todo con aplicaciones que tienen ventana y puede no afectar a procesos en segundo plano.
Finalizar por título de ventana
El filtro WINDOWTITLE acota el objetivo por el título de la ventana. Se admiten comodines.
taskkill /F /FI "WINDOWTITLE eq *Bloc de notas*"
Encontrar procesos que usan mucha memoria
tasklist /FI "MEMUSAGE gt 500000"
Después de comprobarlo, puedes finalizar los procesos necesarios. taskkill acepta los mismos filtros /FI.
Cuando un proceso no se cierra
”Acceso denegado”
Para finalizar el proceso de otro usuario o un proceso gestionado por el sistema, ejecuta el símbolo del sistema como administrador. Los procesos protegidos (como el software de seguridad) no se pueden detener con taskkill ni así.
”No se encontró el proceso”
El nombre del proceso está mal escrito o el proceso ya ha terminado. Comprueba el nombre correcto de la imagen con tasklist.
Comprobar el resultado con el código de salida
taskkill devuelve el código 0 si tiene éxito y 128 si no encuentra el proceso, así que un archivo por lotes puede bifurcar según ERRORLEVEL.
taskkill /F /IM notepad.exe >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
echo Finalizado.
) ELSE IF %ERRORLEVEL% EQU 128 (
echo No se encontro el proceso.
) ELSE (
echo No se pudo finalizar. Puede que se necesiten permisos de administrador.
)
Finalizar procesos en un equipo remoto
Usa /S para el nombre del equipo, /U para el usuario y /P para la contraseña y así finalizar procesos en otro PC de la red (se necesitan permisos y configuración del firewall). Algunos filtros, como /FI "STATUS ...", no se pueden usar con procesos remotos.
taskkill /S PC-SERVIDOR01 /U usuario /IM notepad.exe /F
Ejemplos prácticos
Cerrar varias aplicaciones a la vez
@echo off
echo Cerrando navegadores...
taskkill /F /IM chrome.exe >nul 2>&1
taskkill /F /IM msedge.exe >nul 2>&1
taskkill /F /IM firefox.exe >nul 2>&1
echo Hecho.
Finalizar un proceso de forma segura en un archivo por lotes
@echo off
setlocal
set TARGET=notepad.exe
tasklist /FI "IMAGENAME eq %TARGET%" | findstr /I "%TARGET%" >nul
IF %ERRORLEVEL% EQU 0 (
echo Cerrando %TARGET%.
taskkill /IM %TARGET%
) ELSE (
echo %TARGET% no se esta ejecutando.
)
endlocal
Usar TASKLIST y TASKKILL juntos
Lo habitual es comprobar el proceso con tasklist y luego finalizarlo con taskkill.
tasklist /FI "IMAGENAME eq notepad.exe"
taskkill /IM notepad.exe
Resumen
| Acción | Comando |
|---|---|
| Finalizar por nombre | taskkill /IM nombre |
| Forzar la finalización | taskkill /F /IM nombre |
| Finalizar por PID | taskkill /PID id |
| Incluir procesos secundarios | taskkill /F /T /IM nombre |
| Finalizar procesos sin respuesta | taskkill /F /FI "STATUS eq NOT RESPONDING" |
| Finalizar en un PC remoto | taskkill /S PC /U usuario /IM nombre /F |