Saltar al contenido
Anuncios

Finalizar procesos bloqueados en Windows desde consola

Cuando se nos bloquea un proceso en Windows, quien más quien menos ya sabe que existe el Administrador de Tareas el cual nos permite finalizar procesos de forma obligada desde una cómoda interfaz gráfica.

Sin embargo, es posible que en alguna ocasión no funcione. En estos casos, nos sentiremos tentados a cerrar sesión o reiniciar el equipo. El problema es que no siempre podemos, según el uso que estemos dando al cliente o servidor donde ocurre.

Diferentes formas de terminar procesos que no responden en Windows

Dado lo anterior, vamos a ver diferentes maneras disponibles para matar procesos mediante consola en Windows o con aplicaciones externas específicas. Ya verás, no todo está perdido.

Encontrar y matar un proceso mediante Tasklist & Taskkill

La opción siguiente la podemos utilizar tanto en CMD (Command Prompt) como Windows Powershell.

Nota: si vamos a intentar finalizar un proceso que ha sido lanzado con privilegios de administrador, necesitaremos lanzar la consola con el mismo nivel de privilegios.

Abre el Símbolo de Sistema con privilegios de administrador preferiblemente. Para ello pulsa botón de búsqueda en Windows 10 o la barra de búsqueda del menú inicio en sistemas anteriores.

Abrir cmd en Windows 10

  • Botón derecho > Ejecutar como administrador

La sintaxis para buscar un proceso mediante Tasklist es la siguiente:

tasklist | more
tasklist | sort

Estos son dos ejemplos, el primero de los cuales nos deja paginar cuando la pantalla se llena de información, mientras el segundo nos muestra los procesos ordenados según su nombre en lugar de según su PID.

Buscar procesos con tasklist

Para aislar un proceso o varios a una pequeña lista podemos lanzar el comando con el siguiente filtro:

tasklist | findstr /i skype

Listar procesos en Windows con Tasklist

Usando /i descartaremos que se distinga entre minúsculas o mayúsculas.

Ahora que tenemos el nombre de nuestro proceso, podemos proceder a cerrarlo por las malas 🙂

taskkill /IM <nombre_proceso> /F
  • /IM para seleccionar por su nombre
  • /F para forzar la operación

Matar proceso en WIndows con taskkill

O bien:

taskkill /F <PID>
  • /F para forzar la operación
  • PID para seleccionar por número de proceso

Para ver más comandos disponibles mediante taskkill puedes escribir lo siguiente:

taskkill /?

Terminar todos los procesos que no responden a la vez

Entre las opciones útiles de este comando tenemos que además nos permite finalizar cualesquiera procesos según su estado en una sola orden. La sintaxis sería:

taskkill.exe /F /FI "status eq NOT RESPONDING"

Y el resultado:

Eliminar todos los procesos que no responden en Windows a la vez

Incluso podemos añadir esta orden a un acceso directo o a un archivo ejecutable por lotes (BAT) para hacer un simple doble clic.

Tabla de filtros aceptados

Filtro operadores aceptados valores aceptados
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne Nombre de imagen
PID eq, ne, gt, lt, ge, le PID
SESSION eq, ne, gt, lt, ge, le Nº de sesión
CPUTIME eq, ne, gt, lt, ge, le Tiempo de CPU en forma hh:mm:ss.
hh – horas,mm – min,
ss – seg
MEMUSAGE eq, ne, gt, lt, ge, le Uso de memoria en KB
USERNAME eq, ne Nombre usuario como [dominio\]usuario
MODULES eq, ne Nombre DLL
SERVICES eq, ne Nombre de servicio
WINDOWTITLE eq, ne Título de ventana

*Como ya dije estos comandos pueden lanzarse además mediante Powershell

Matar un proceso usando Powershell

Abre el Windows Powershell con privilegios de administrador preferiblemente. Para ello pulsa botón derecho de ratón sobre el botó de Inicio en Windows 10. La opción predefinida podría ser otra, si no la encuentras usa el botón de búsqueda.

Abrir Windows powershell como administrador

La sintaxis para matar un proceso por su nombre es la que sigue:

Stop-Process -Name "NombreProceso" -Force

Para terminar un proceso desde Powershell según su PID:

Stop-Process -ID PID -Force

Veamos un ejemplo:

Finalizar procesos en Windows mediante Powershell

Finalizar procesos en Windows con Process Explorer

Process Explorer, cuyo instalador se llama procexp y está disponible en 32/64 bits, es una aplicación de gestión de procesos, librerías y entradas de registro capaz de mostrar el uso de recursos en tiempo real e interactuar con los procesos.

Por tanto, estamos ante una aplicación de gran utilidad que nos valdrá para gran cantidad de tareas como establecer afinidad de procesos (frente a núcleos de proceso), seguir las librerías y entradas de registro que utiliza un proceso, etcétera.

Sin más, veamos como podemos cerrar un proceso a la fuerza en Windows con Process Explorer:

  1. Empezaremos por descargar el software desde la web oficial de Microsoft.
  2. Ahora abriremos la aplicación, seleccionaremos el proceso bloqueado de entre la lista
  3. Pulsaremos el botón derecho y escogeremos la opción Kill

Finalizar proceso en Windows con Process Explorer (procexp)

También podemos usar el botón de la barra superior.

Anuncios

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: