miércoles, 18 de mayo de 2011

Cómo finalizar procesos en Windows con el comando taskkill

La línea de comandos de Windows ofrece algunas herramientas bastante potentes que nos permiten hacer cosas que utilizando la interfaz gràfica de Windows son mucho más laboriosas, o simplemente, no se pueden hacer.
Por ejemplo, a veces intentamos finalizar (matar, kill) un proceso bloqueado mediante la combinación de teclas "Alt+F4" o con el administrador de tareas, pero por algún motivo ese proceso está bloqueado y el administrador de tareas no puede finalizarlo (por ejemplo por ser un virus que tengamos cargado en la memoria).
En estos casos, para matar el proceso, habrá que usar el comando taskkill.
Lo explicaré con un ejemplo.

Supongamos que abrimos un archivo Excel y por algún motivo se cuelga. Tenemos 3 opciones para terminar el proceso:

A. Cierre normal de la aplicación

Primero intentaremos cerrar la ventanita del programa, y si nos aparece un mensaje que nos pide confirmación para finalizar el proceso, aceptaremos.
Si la aplicación no responde, podemos probar presionando en el teclado las teclas "Alt" y "F4" a la vez, para forzar de nuevo el cierre de la aplicación.


B. Cierre mediante el Administrador de Tareas (taskmgr)

Si tampoco funciona así, podemos ir al administrador de tareas. Para acceder al administrador de tareas tenemos 2 opciones:

a) Ir a "Inicio > Ejecutar". Escribir "taskmgr" y presionar enter.
b) Presionar, a la vez, las teclas "Ctrl + Alt + Supr" (el famoso "saludo de los 3 dedos") y hacer clic en el botón "Administrador de tareas". Aparecerá el todopoderoso "Administrador de tareas de Windows":


Una vez ahí, vamos a la pestaña "Procesos" y seleccionamos el proceso correspondiente (en este caso, EXCEL.exe) y hacemos clic en el botón "Terminar proceso". En el mensaje de advertencia presionamos en el botón "Sí". Si aparece un mensaje que indica que el proceso no se puede terminar tendremos que recurrir a la línea de comandos.


C. Cierre mediante taskkill

Para forzar la terminación de un proceso mediante el comando taskkill, sigue estos pasos:

1) Ir a "Inicio > Ejecutar". Escribir "cmd" y presionar enter.

2) Escribir "tasklist" y presionar enter

3) Buscar el nombre del proceso bloqueado en la columna "Nombre de imagen", en nuestro caso "EXCEL.exe", y anotar el PID (identificador de proceso), en nuestro caso 10048.


Si no sabemos el nombre de nuestro proceso, podemos escribir:
tasklist /v
Lo que nos mostrará una tabla con más información sobre los procesos, en la que encontraremos el estado de cada proceso.

Otra manera de averiguar qué procesos no responden es mediante el comando:
tasklist /FI "ESTADO eq NOT RESPONDING"

4) Escribir "taskkill /T /F /PID xxxx", dónde xxxx es el identificador del proceso a finalizar, y presionar enter.


La opción /T (TREE) indica que queremos eliminar todos los subprocesos asociados a ese proceso.
La opción /F (FORCE) indica que queremos forzar la finalización del proceso.
La opción /PID indica que a continuación indicaremos el PID del proceso a matar

NOTA: Hay que tener cuidado con este comando, ya que si elegimos un PID de un proceso equivocado podemos causar el cuelgue del sistema operativo, pérdida de información, o incluso el apagado del sistema.

Más información:
tasklist (Microsoft)
taskkill (Microsoft)

No hay comentarios:

Publicar un comentario